-2
我需要一個腳本,幫我看看,有主鍵的表,不指定數據庫名稱或表名。需要幫助...動態查找表與主鍵
我需要一個腳本,幫我看看,有主鍵的表,不指定數據庫名稱或表名。需要幫助...動態查找表與主鍵
select
t.table_schema,t.table_name
from
information_schema.tables t
inner join information_schema .columns c
on t.table_schema=c.table_schema and t.table_name=c.table_name
group by
t.table_schema,t.table_name
having
sum(if(column_key in ('PRI','UNI'), 1,0)) =1;
This works。
對於MySQL,總有一個命名爲「主」爲每一個主鍵約束。所以找到它們非常簡單:
SELECT TABLE_SCHEMA, TABLE_NAME
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE CONSTRAINT_NAME = 'PRIMARY';
也許有趣? [瞭解MySQL信息模式數據庫](http://www.databasejournal.com/features/mysql/understanding-the-mysql-information-schema-database.html)。另外:[第22章INFORMATION_SCHEMA表](http://dev.mysql.com/doc/refman/5.7/en/information-schema.html),imo,你只需編寫SQL查詢來找出你想要的。 –