foreign drop crear constraint check agregar mysql constraints

drop - Cómo agregar una restricción no nula a la columna existente en MySQL5.1



drop constraint sql server (2)

Pruebe esto, sabrá la diferencia entre cambiar y modificar,

ALTER TABLE table_name CHANGE curr_column_name new_column_name new_column_datatype [constrints]

ALTER TABLE table_name MODIFY column_name new_column_datatype [constraints]

  • MODIFY operación MODIFY para cambiar, pero no es posible invertir.
  • Puede cambiar el nombre y el tipo de datos de la columna en particular usando CHANGE .
  • Puede modificar el tipo de datos de columna particular usando MODIFY . No puede cambiar el nombre de la columna usando esta declaración.

Espero, lo expliqué bien en detalle.

Tengo un nombre de tabla llamado "Persona" con los siguientes nombres de columna

P_Id(int), LastName(varchar), FirstName (varchar).

Olvidé dar restricción NOT NULL a P_Id .

Ahora probé con la siguiente consulta para agregar restricción NOT NULL a la columna existente llamada P_Id ,

1. ALTER TABLE Person MODIFY (P_Id NOT NULL); 2. ALTER TABLE Person ADD CONSTRAINT NOT NULL NOT NULL (P_Id);

Estoy recibiendo un error de sintaxis ...


Solo use una consulta ALTER TABLE... MODIFY... y agregue NOT NULL a su definición de columna existente. Por ejemplo:

ALTER TABLE Person MODIFY P_Id INT(11) NOT NULL;

Una advertencia: debe especificar la definición de columna completa nuevamente cuando se utiliza una consulta MODIFY . Si su columna tiene, por ejemplo, un valor DEFAULT o un comentario de columna, debe especificarlo en la instrucción MODIFY junto con el tipo de datos y NOT NULL , o se perderá. La práctica más segura para evitar estos contratiempos es copiar la definición de columna del resultado de una consulta SHOW CREATE TABLE YourTable , modificarla para incluir la restricción NOT NULL y pegarla en su consulta ALTER TABLE... MODIFY...