我有一个
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
将参数传递给查询,这需要很多时间。我想优化它。
有人可以建议吗?
你可以使用更正式的方法:
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';
使用where子句
SHOW columns from abcTable where field not like '%name'
查看 SHOW 语句的扩展 https://dev.mysql.com/doc/refman/8.0/en/extended-show.html