在mySQL show语句中使用“notlike”
我有一个dropdownlist,它由基于用户在上一个下拉列表中选择的表名的列名填充。我正在使用以下查询 显示abcTableName中的列,如“%name”,它可以工作 我想所有的都包括所有的列名,除了一些列。因此,我想要这样的查询在mySQL show语句中使用“notlike”,mysql,sql-like,columnname,show-sql,Mysql,Sql Like,Columnname,Show Sql,我有一个dropdownlist,它由基于用户在上一个下拉列表中选择的表名的列名填充。我正在使用以下查询 显示abcTableName中的列,如“%name”,它可以工作 我想所有的都包括所有的列名,除了一些列。因此,我想要这样的查询 SHOW columns from abcTable NOT LIKE ('%name','%pk','%fk') 这是行不通的。甚至 SHOW columns from abcTable NOT LIKE '%name' 不起作用 目前,我运行了两个
SHOW columns from abcTable NOT LIKE ('%name','%pk','%fk')
这是行不通的。甚至
SHOW columns from abcTable NOT LIKE '%name'
不起作用
目前,我运行了两个循环来获取列名——外部循环来传递表名,内部循环来传递参数到查询,这需要花费大量时间。我希望对其进行优化
有人可以提出建议吗?您可以使用更正式的方法:
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'
查看扩展以显示语句
第一个解决方案说您的SQL语法有错误;检查与您的MySQL对应的手册。第二个函数给出以下消息:操作数应包含1columns@ALearner我的代码未经测试,但您可以看到上面的代码现在应该为您运行。谢谢。这也会有所帮助。我希望我能接受这两种解决方案作为答案。你能展示一下你的表结构,让我们看看所有的列吗?