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

¿Restricciones terminológicas de MySQL frente a diferencias de claves externas?

Sí, una clave externa es un tipo de restricción. MySQL tiene un soporte desigual para las restricciones:

  • PRIMARY KEY :sí como restricción de tabla y restricción de columna.
  • FOREIGN KEY :sí como restricción de tabla, pero solo con motores de almacenamiento InnoDB y BDB; de lo contrario, se analizará pero se ignorará.
  • CHECK :analizado pero ignorado en todos los motores de almacenamiento.
  • UNIQUE :sí como restricción de tabla y restricción de columna.
  • NOT NULL :sí como restricción de columna.
  • DEFERRABLE y otros atributos de restricción:sin soporte.

La CONSTRAINT le permite nombrar la restricción explícitamente, ya sea para hacer que los metadatos sean más legibles o para usar el nombre cuando desee eliminar la restricción. El estándar SQL requiere que CONSTRAINT cláusula es opcional. Si lo omite, el RDBMS crea un nombre automáticamente y el nombre depende de la implementación.