2012-05-15 15 views
12

Inizialmente, la tabella "MyTable" è stato definito nel seguente modo:tavolo Alter SQL - permettere valore di colonna NULL

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

Come aggiornare in modo tale che la colonna "Col 3" sarebbe permesso di essere NULL?

+0

È stata fornita una risposta a questa domanda? In tal caso, non dimenticare di contrassegnare una risposta come accettata. – RyanfaeScotland

risposta

17

La seguente istruzione MySQL dovrebbe modificare la colonna per accettare valori NULL.

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

Sì, ma quando modifico la colonna Col 3 (Data), ottiene automaticamente il valore '0000-00-00'. Ma voglio che sia uguale a NULL. –

+3

UPDATE TABLE MyTable SET Col3 = null WHERE Col3 = '0000-00-00' – Tschareck

+2

Attesa ... non è Col3 a varchar (20), non Data? – Tschareck

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

Quando modifico la colonna (tenta di renderla vuota) in MySQL Query Browser, si verifica il seguente messaggio di errore: Dati troncati per la colonna "Col 3" nella riga 1. Accade dopo gli aggiornamenti. –

+0

se provo ALTER TABLE spen_recipe MODIFY Null varchar (20) NULL; mi capita di sbagliare –

+0

@SachinS: cos'è il primo 'Null' che sta facendo lì? – eggyal

Problemi correlati