我有这个查询要做。 显示名为'以某种方式'的表中的所有列。这不是主键。
这就是我尝试获取与主键ID列不同的列标题的方法:
SELECT cols.column_name
FROM information_schema.table_constraints t
JOIN information_schema.key_column_usage k
USING(constraint_name,table_schema,table_name)
WHERE t.constraint_type <> 'PRIMARY KEY'
AND t.table_schema='mydb'
AND t.table_name='somehow'
因为我收到SQL错误,所以有些不对劲。我做错了什么?
更新:
SELECT k.column_name
FROM information_schema.table_constraints t
JOIN information_schema.key_column_usage k
USING(constraint_name,table_schema,table_name)
WHERE t.constraint_type <> 'PRIMARY'
AND t.table_schema='mydb'
AND t.table_name='somehow'
这显示了我不想得到的结果(主键)我需要显示其他所有内容:(
答案 0 :(得分:0)
所有表格列都可以在MySQL的系统表columns
中找到。其column_key
字段包含&#39; PRI&#39;如果列是主键的一部分。因此:
select column_name
from information_schema.columns
where table_schema = 'mydb'
and table_name = 'somehow'
and column_key <> 'PRI';