sql >> Databasteknik >  >> RDS >> Mysql

hur man väljer alla kolumner utan PRIMÄR nyckel i mysql?

Detta är något som är värt att undersöka lite om du ska arbeta med databaser i någon längd.

Alla DBMS jag har arbetat med hittills har ett sätt att titta på begränsningar, kolumner och tabellinformation. De för MySQL som hjälper dig att göra vad du vill finns troligen i INFORMATION_SCHEMA:

TABLE_CONSTRAINTS a> MySQL-referensen för detta finns här .

SELECT table_name, constraint_name, constraint_type FROM INFORMATION_SCHEMA.table_constraints;

KOLUMNER MySQL-referensen för detta finns här.

SELECT column_name FROM INFORMATION_SCHEMA.columns;

KEY_COLUMN_USAGE

Du borde kunna göra något så här för att få det du vill ha:

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'

Det borde vara i princip vad du behöver. Vyer/tabeller som dessa kan vara din bästa vän när du behöver få information om ditt schema.

Jag hoppas att den här informationen hjälper.




  1. Omstrukturera en dålig databas med PHP-loopar eller MySQL

  2. MySQL - Varför ignoreras COLLATION-regler av LIKE-operatorn för tyska ß-tecken

  3. kontrollera tillgängligheten för ett rum med SQL

  4. Hur man ökar en räknare och returnerar värdet i MySQL