¿Cómo obtengo una lista de todas las restricciones de una base de datos en particular?
mysql
database-design
constraints
lolajl
fuente
fuente
Respuestas:
Utilice la
information_schema.table_constraints
tabla para obtener los nombres de las restricciones definidas en cada tabla:Utilice la
information_schema.key_column_usage
tabla para obtener los campos en cada una de esas restricciones:Si, en cambio, está hablando de restricciones de clave externa, use
information_schema.referential_constraints
:fuente
information_schema.columns.column_default
.Gran respuesta de @Senseful.
Estoy presentando una consulta modificada para aquellos que solo buscan una lista de nombres de restricciones (y no otros detalles / columnas):
fuente
Esto realmente ayuda si desea ver restricciones de clave primaria y externa, así como reglas sobre esas restricciones como ON_UPDATE y ON_DELETE y los nombres de columna y columna externa todos juntos:
Es posible que incluso desee agregar más información sobre esas columnas, simplemente agregue esto en el SQL (y seleccione las columnas que desee):
fuente
SELECCIONAR * DE USER_CONSTRAINTS DONDE TABLE_NAME = "tabnam";
fuente