嗨,当您输入以下网址(仅用于学习目的)时,我可以看到ID = 1的图像。
因此,我尝试使用此方法来查找数据库中某些表的名称,并且它起作用了。这可以检测是否存在以“ albu”开头的表:
http://35.227.24.107:5001/d0510b3060/fetch?id=1 AND(从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 ='相册'AND column_name像'albu%')> 0; -
请注意:对于我的问题,我知道数据库和表的名称。
最佳答案
如Shadow所评论,您正在寻找MySQL INFORMATION_SCHEMA.COLUMNS
table:
SELECT COUNT(*)
FROM information_schema.columns
WHERE table_name = 'albums' AND column_name LIKE 'albu%'
注意:您可能还想过滤
TABLE_SCHEMA
。它需要使用模式和表名来唯一地标识数据库中的表。