如何检查MySQL中是否存在主键
我尝试了几个sql脚本,但都失败了。这是我接近的一个:如何检查MySQL中是否存在主键,mysql,sql,Mysql,Sql,我尝试了几个sql脚本,但都失败了。这是我接近的一个: SELECT * FROM INFORMATION_SCHEMA.STATISTICS WHERE table_schema = schema() AND table_name = 'my_table_name' AND index_name = 'column_name'; 我想你需要下面的陈述 或以下 我想你需要下面的陈述 或以下 为什么索引你的名字?它不存在于列系统表中。它使用列名称而不是索引名称。我的后续问题是
SELECT *
FROM INFORMATION_SCHEMA.STATISTICS
WHERE table_schema = schema()
AND table_name = 'my_table_name'
AND index_name = 'column_name';
我想你需要下面的陈述 或以下
我想你需要下面的陈述 或以下
为什么索引你的名字?它不存在于列系统表中。它使用列名称而不是索引名称。我的后续问题是,当我用ALTERTABLE删除主键时,我的表名会删除主键;该列仍然显示。为什么要索引名称?它不存在于列系统表中。它使用列名称而不是索引名称。我的后续问题是,当我用ALTERTABLE删除主键时,我的表名会删除主键;该列仍然显示。可能重复的可能重复的
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_schema = schema()
AND column_key = 'PRI'
AND table_name = 'my_table_name'
AND column_name = 'column_name';
select constraint_name
from information_schema.table_constraints
where table_name = 'mytable'
and table_schema = 'myschema'
and constraint_name = 'PRIMARY';
SELECT EXISTS(
SELECT 1
FROM information_schema.columns
WHERE
table_name='messages'
and column_key = 'PRI'
) As HasPrimaryKey;