MySQL 5.0.45
¿Cuál es la sintaxis para alterar una tabla para permitir que una columna sea nula? Alternativamente, ¿qué hay de malo en esto?
ALTER mytable MODIFY mycolumn varchar(255) null;
Interpreté el manual como simplemente ejecute lo anterior y recrearía la columna, esta vez permitiendo nulo. El servidor me dice que tengo errores sintácticos. Simplemente no los veo.
Respuestas:
Quieres lo siguiente:
Las columnas son anulables por defecto. Mientras la columna no se declare
UNIQUE
oNOT NULL
, no debería haber ningún problema.fuente
TIMESTAMP
tipo, que dependiendo de su versión y configuración de MySQL puedeNOT NULL
especificarseNULL
según lo sugerido por @ConroyP es más correcto.Su error de sintaxis es causado por una "tabla" que falta en la consulta
fuente
NULL
, no hace que esta respuesta sea más "correcta" que la respuesta aceptada? Saber que las columnas son anulables por defecto (como se menciona en la respuesta aceptada) es útil con respecto a esta pregunta en particular.Mi solución:
Por ejemplo:
fuente
En algunas circunstancias (si obtiene "ERROR 1064 (42000): tiene un error en su sintaxis SQL; ...") debe hacer
fuente
Mi solución es la misma que @Krishnrohit:
De hecho, tenía la columna configurada como
NOT NULL
pero con la consulta anterior se cambió aNULL
.PD: Sé que este es un hilo viejo pero nadie parece reconocer que
CHANGE
también es correcto.fuente
Utilizar:
ALTER TABLE mytable MODIFY mycolumn VARCHAR(255);
fuente