Sono in esecuzione MySql
in ubuntu 10.10
. Ho creato un tavolo chiamato 'employee'
con 3 nomi di campo empno, nome e stipendio. Inserito poche entità. Nel mezzo del processo voglio cambiare l'attributo retribuzione come 'NOT NULL'
. I Alter the table comePerché MySQL consente di aggiornare una colonna NOT NULL su NULL?
ALTER TABLE employee MODIFY salary int(10) NOT NULL;
Query eseguita. Ho voluto mettere alla prova utilizzando il comando,
UPDATE employee SET salary=NULL;
Query OK, 15 rows affected, 15 warnings (0.06 sec)
Rows matched: 15 Changed: 15 Warnings: 15
anche dato avvertimenti " (Code 1048): Column 'salary' cannot be null "
(ripetuto per ogni riga)
Ma quando ho visto mio tavolo, tutti gli stipendi sono stati Zeros ('0'
).
stesse query risultato in errore invece di avviso in di WINDOWS XP MySql
ho controllato in entrambi i motori InnoDB e MyISAM, ma stesso risultato. Ti prego di aiutarmi a sapere cosa è successo dopo l'elaborazione.
Qual è la tua domanda? Imposta il tuo campo su 'not null' e lo imposti su NULL. L'impostazione predefinita sarà '0' come previsto. Cosa stanno facendo in Windows secondo te? Impostare il campo su 'NULL'? Sarebbe strano – Nanne
Cosa intendi esattamente per "lavorare bene in XP"? – Quassnoi
@Nanne e @ Quassnoi In Windows non consente l'aggiornamento di valori nulli e mostra gli stipendi originali, ma qui mostra tutti gli zeri. Sì, potrebbe essere strano ma per me i risultati sono stati inaspettati. :) – kik