Aunque no sé qué RDBMS está utilizando, probablemente deba proporcionar la especificación de la columna completa, no solo decir que ahora desea que sea anulable. Por ejemplo, si es actualmente INT NOT NULL, debe emitir ALTER TABLE Merchant_Pending_Functions Modify NumberOfLocations INT.
ALTERTABLE Merchant_Pending_Functions MODIFY COLUMN`NumberOfLocations` INT null;
Esto funcionará para ti.
Si desea cambiar una columna no nula para permitir nula, no es necesario incluir una cláusula no nula. Porque las columnas predeterminadas no se vuelven nulas.
Respuestas:
Suponiendo
SQL Server
(según sus preguntas anteriores):Reemplace
INT
con su tipo de datos real.fuente
para usuarios de Oracle Database 10g:
Obtiene "ORA-01735: opción ALTER TABLE no válida" cuando intenta lo contrario
fuente
Si esta fuera la sintaxis de MySQL, el tipo habría faltado, como señalan algunas otras respuestas. La sintaxis correcta de MySQL habría sido:
Publicar aquí para mayor claridad para los usuarios de MySQL.
fuente
En PostgresQL es:
fuente
Aunque no sé qué RDBMS está utilizando, probablemente deba proporcionar la especificación de la columna completa, no solo decir que ahora desea que sea anulable. Por ejemplo, si es actualmente
INT NOT NULL
, debe emitirALTER TABLE Merchant_Pending_Functions Modify NumberOfLocations INT
.fuente
Null
|NOT NULL
no se especifica, la columna será anulable.Como otros han observado, la sintaxis precisa para el comando varía según los diferentes tipos de DBMS. La sintaxis que usa funciona en Oracle:
fuente
Para HSQLDB:
fuente
Esto funcionará para ti.
Si desea cambiar una columna no nula para permitir nula, no es necesario incluir una cláusula no nula. Porque las columnas predeterminadas no se vuelven nulas.
fuente
Esto depende de qué motor SQL esté utilizando, en Sybase su comando funciona bien:
fuente
Oráculo
fuente
SQL_SCRIPT
?