English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

如何在MySQL现有列中添加非空约束?

Per aggiungere una restrizione non null al campo esistente nel MySQL, utilizzeremo il comando ALTER. Questo è un tipo di validazione utilizzato per limitare l'inserimento di valori vuoti dall'utente.

Vediamo un esempio. Prima di tutto, creeremo una tabella. Il comando CREATE viene utilizzato per creare una tabella.

mysql> CREATE TABLE AddNotNUlldemo
   - > (
   - > name varchar(100)
   - > );

Inserisci record.

mysql> INSERT INTO AddNotNUlldemo VALUES('John');
mysql> INSERT INTO AddNotNUlldemo VALUES('Bob');

Mostra tutti i record.

mysql> SELECT * FROM AddNotNUlldemo;

Questo è l'output.

+------+
| name |
+------+
| John |
| Bob  |
+------+
2 righe nel set (0.00 sec)

Ecco la sintassi per aggiungere una restrizione a una colonna esistente.

ALTER TABLE yourTableName MODIFY column_name data_type constraint;

Ora, implementiamo la sintassi sopra per eseguire la seguente query. Includiamo la restrizione 'non nullo'.

mysql> ALTER TABLE AddNotNUlldemo MODIFY name varchar(100) NOT NULL;
Records: 0 Duplicati: 0 Avvisi: 0

Ora, non possiamo inserire un valore nullo nella tabella 'AddNotNUlldemo', poiché abbiamo impostato la restrizione sopra come 'non nullo'. Se si tenta di aggiungere un valore nullo, verrà ricevuto un messaggio di errore. Ecco un esempio.

mysql> INSERT INTO AddNotNUlldemo VALUES(null);
ERROR 1048 (23000): La colonna 'name' non può essere null

Mostra tutti i record.

mysql> SELECT * FROM AddNotNUlldemo;

Questo è l'output.

+------+
| name |
+------+
| John |
| Bob  |
+------+
2 righe nel set (0.00 sec)