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ónMODIFY
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...