sql >> Base de Datos >  >> RDS >> Mysql

Cómo encontrar el nombre de una restricción en MySQL

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 .