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".