Problema:
Quiere encontrar los nombres de las restricciones en una tabla en MySQL.
Ejemplo:
Queremos mostrar los nombres de las restricciones en la tabla student .
Solución:
SELECT TABLE_NAME, CONSTRAINT_TYPE, CONSTRAINT_NAME FROM information_schema.table_constraints WHERE table_name='student';
Aquí está el resultado:
| NOMBRE_TABLA | CONSTRAINT_TYPE | CONSTRAINT_NAME |
|---|---|---|
| estudiante | CLAVE PRINCIPAL | PRIMARIO |
| estudiante | ÚNICO | número_personal |
| estudiante | LLAVE EXTRANJERA | estudiante_ibfk_1 |
| estudiante | COMPROBAR | student_chk_1 |
Discusión:
Utilice la vista table_constraints en el information_schema esquema. Esta vista contiene muchas columnas, pero las más importantes son table_name , constraint_type y constraint_name . La columna table_name le da el nombre de la tabla en la que se define la restricción, y la columna constraint_name contiene el nombre de la restricción. La columna constraint_type indica el tipo de restricción:PRIMARY KEY para el tipo de clave principal, FOREIGN KEY para el tipo de clave foránea, UNIQUE para los valores únicos y CHECK para la comprobación de restricciones. En nuestro ejemplo, puede ver la restricción llamada PRIMARY para la clave principal en el student mesa. El constraint_type columna le brinda información sobre el tipo de cada restricción; para la clave principal, es PRIMARY KEY .