Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie wählt man alle Spalten ohne PRIMARY-Schlüssel in MySQL aus?

Dies ist etwas, worüber es sich zu recherchieren lohnt, wenn Sie längere Zeit mit Datenbanken arbeiten.

Alle DBMS, mit denen ich bisher gearbeitet habe, haben eine Möglichkeit, die Einschränkungen, Spalten und Tabelleninformationen anzuzeigen. Diejenigen für MySQL, die Ihnen helfen, das zu tun, was Sie wollen, finden Sie wahrscheinlich im INFORMATION_SCHEMA:

TABLE_CONSTRAINTS Die MySQL-Referenz dafür finden Sie hier .

SELECT table_name, constraint_name, constraint_type FROM INFORMATION_SCHEMA.table_constraints;

SPALTEN Die MySQL-Referenz dafür ist hier.

SELECT column_name FROM INFORMATION_SCHEMA.columns;

KEY_COLUMN_USAGE

Sie sollten in der Lage sein, so etwas zu tun, um zu bekommen, was Sie wollen:

SELECT INFORMATION_SCHEMA.key_column_usage.column_name 
FROM INFORMATION_SCHEMA.key_column_usage
JOIN INFORMATION_SCHEMA.table_constraints 
ON INFORMATION_SCHEMA.key_column_usage.column_name = INFORMATION_SCHEMA.table_constraints.column_name
WHERE INFORMATION_SCHEMA.table_constraints.constraint_type <> 'PRIMARY KEY'

Das sollte im Wesentlichen das sein, was Sie brauchen. Ansichten/Tabellen wie diese können Ihr bester Freund sein, wenn Sie Informationen über Ihr Schema benötigen.

Ich hoffe, dass diese Informationen helfen.