嗨,,当输入以下网址时(仅供学习),我可以看到ID = 1的图片。
因此,我尝试使用此方法来查找数据库中某些表的名称,并且该方法有效。这可以检测是否存在以'albu'开头的表:
http://35.227.24.107:5001/d0510b3060/fetch?id=1和(从INFORMATION_SCHEMA.TABLES中的TABLE_NAME像'albu%'中选择COUNT(*))> 0; -
但是我怎么知道它的名称以'albu'
开头的特定列是否存在?我已经尝试过了,但是没有用:
http://35.227.24.107:5001/d0510b3060/fetch?id=1 AND(从INFORMATION_SCHEMA.TABLES中选择COUNT(*),其中TABLE_NAME ='albums'AND column_name像'albu%')> 0; -
请注意:对于我的问题,我知道数据库的名称和表的名称。
答案 0 :(得分:1)
如Shadow所评论,您正在寻找MySQL INFORMATION_SCHEMA.COLUMNS
table:
SELECT COUNT(*)
FROM information_schema.columns
WHERE table_name = 'albums' AND column_name LIKE 'albu%'
NB:您可能还想对TABLE_SCHEMA
进行过滤。它需要使用模式和表名来唯一标识数据库中的表。