sql >> Database >  >> RDS >> Mysql

hoe selecteer ik alle kolommen zonder PRIMARY-sleutel in mysql?

Dit is iets dat de moeite waard is om wat onderzoek naar te doen, als je gaat werken met databases van welke lengte dan ook.

Alle DBMS waarmee ik tot nu toe heb gewerkt, hebben een manier om naar de beperkingen, kolommen en tabelinformatie te kijken. Degenen voor MySQL die u zullen helpen te doen wat u wilt, staan ​​waarschijnlijk in de INFORMATION_SCHEMA:

TABLE_CONSTRAINTS De MySQL-referentie hiervoor is hier .

SELECT table_name, constraint_name, constraint_type FROM INFORMATION_SCHEMA.table_constraints;

KOLOMMEN De MySQL-referentie hiervoor is hier.

SELECT column_name FROM INFORMATION_SCHEMA.columns;

KEY_COLUMN_USAGE

Je zou zoiets als dit moeten kunnen doen om te krijgen wat je wilt:

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'

Het zou in wezen moeten zijn wat je nodig hebt. Dergelijke weergaven/tabellen kunnen uw beste vriend zijn als u informatie over uw schema nodig heeft.

Ik hoop dat deze informatie helpt.




  1. Voorkom dat dubbele gegevens in de mysql-database worden ingevoerd

  2. Een tabel bijwerken in Oracle als een veldwaarde Null is en bepalen of de update succesvol is

  3. MySQL JSON_EXTRACT pad-expressiefout

  4. Hoe te SELECTEREN * maar zonder Kolomnamen moeten uniek zijn in elke weergave