Trovare le tabelle senza chiave primaria (MySQL)
Updated at: 09/10/2014
Analogamente a quanto detto in
questo post, nel caso in cui si debbano trovare tutte le tabelle senza chiave primaria in MySQL si può usare la seguente query:
SELECT TABLE_SCHEMA, TABLE_NAME FROM information_schema.`TABLES` T
WHERE TABLE_SCHEMA NOT IN ('information_schema', 'mysql', 'performance_schema')
AND TABLE_NAME NOT IN
(SELECT TABLE_NAME FROM information_schema.KEY_COLUMN_USAGE
WHERE CONSTRAINT_NAME = 'PRIMARY' AND TABLE_SCHEMA = T.TABLE_SCHEMA)
Che restituirà tutte le coppie schema-tabella "incriminate".