sql >> Databáze >  >> RDS >> Mysql

jak vybrat všechny sloupce bez PRIMÁRNÍHO klíče v mysql?

Pokud budete pracovat s databázemi v nějaké délce, stojí to za to udělat průzkum.

Všechny DBMS, se kterými jsem dosud pracoval, mají prostředky k prohlížení omezení, sloupců a informací o tabulkách. Ty pro MySQL, které vám pomohou dělat, co chcete, jsou pravděpodobně v INFORMAČNÍM SCHÉMA:

TABLE_CONSTRAINTS Reference MySQL pro toto je zde .

SELECT table_name, constraint_name, constraint_type FROM INFORMATION_SCHEMA.table_constraints;

SLOUPCE Odkaz na MySQL je zde .

SELECT column_name FROM INFORMATION_SCHEMA.columns;

KEY_COLUMN_USAGE

Měli byste být schopni udělat něco takového, abyste dostali to, co chcete:

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'

Mělo by být v podstatě to, co potřebujete. Pohledy/tabulky jako tyto mohou být vaším nejlepším přítelem, když potřebujete získat informace o svém schématu.

Doufám, že vám tyto informace pomohou.




  1. Nesprávný soubor klíče pro tabulku '/tmp/#sql_18b4_0.MYI' zkuste jej opravit

  2. Optimální provedení dotazu na nejnovější záznam pro každý N

  3. Importujte více souborů CSV do mysql

  4. Bezpečná třída PHP připojující se k MySQL?