2012-05-15 12 views
12

Inicialmente, la mesa "MyTable" ha sido definido de la siguiente manera:modificación de tabla SQL - permitir que el valor de columna NULL

CREATE TABLE IF NOT EXISTS `MyTable` (
    `Col1` smallint(6) NOT NULL AUTO_INCREMENT, 
    `Col2` smallint(6) DEFAULT NULL, 
    `Col3` varchar(20) NOT NULL, 
); 

Cómo actualizar de una manera tal que la columna "Col 3" sería permitido ser NULL?

+0

¿Responde a esta pregunta? Si es así, no olvide marcar una respuesta como aceptada. – RyanfaeScotland

Respuesta

17

La siguiente instrucción MySQL debe modificar su columna para aceptar valores NULL.

ALTER TABLE `MyTable` 
ALTER COLUMN `Col3` varchar(20) DEFAULT NULL 
+0

Sí, pero cuando edito la columna Col 3 (Fecha), obtiene el valor '0000-00-00' automáticamente. Pero quiero que sea igual a NULL. –

+3

TABLA DE ACTUALIZACIÓN MyTable SET Col3 = null WHERE Col3 = '0000-00-00' – Tschareck

+2

Espera ... ¿no es Col3 un varchar (20), no la fecha? – Tschareck

17
ALTER TABLE MyTable MODIFY Col3 varchar(20) NULL; 
+0

Cuando edito la columna (intento dejarla vacía) en MySQL Query Browser, aparece el siguiente mensaje de error: Datos truncados para la columna 'Col 3' en la fila 1. Sucede después de las actualizaciones. –

+0

si intento ALTER TABLE spen_recipe MODIFY Varillo nulo (20) NULL; me equivoco –

+0

@SachinS: ¿Qué está haciendo ese primer 'Null' allí? – eggyal

Cuestiones relacionadas