我有dropdownlist
根据用户在之前column names
中选择的表名填充dropdown
。我使用以下查询
SHOW columns from abcTableName LIKE '%name'
我希望所有列都包含除少数列之外的所有列名称。因此,我想要这样的查询
SHOW columns from abcTable NOT LIKE ('%name','%pk','%fk')
哪个不起作用。甚至
SHOW columns from abcTable NOT LIKE '%name'
不起作用
目前我运行两个循环来获取列名称 - outer loop
以传递表名称和inner loop
以将参数传递给查询,这需要花费大量时间。我想优化它。
有人可以建议吗?
答案 0 :(得分:1)
您可以使用更正式的方法:
SELECT COLUMN_NAME
FROM information_schema.columns
WHERE
table_schema = '[database]' AND
table_name = '[table_name]' AND
COLUMN_NAME LIKE '%name' AND
COLUMN_NAME NOT LIKE '%pk' AND
COLUMN_NAME NOT LIKE '%fk';
答案 1 :(得分:0)
使用where子句
SHOW columns from abcTable where field not like '%name'
查看SHOW语句的扩展 https://dev.mysql.com/doc/refman/8.0/en/extended-show.html