Ricerca nel sito web

Come posso creare una colonna booleana MySQL e assegnare il valore 1 modificando la stessa colonna?


Per assegnare il valore 1 durante la modifica, utilizzare MySQL DEFAULT. Questo inserirà a sua volta 1 se non viene inserito nulla nella stessa colonna durante l'utilizzo del comando INSERT.

Creiamo innanzitutto una tabella:

mysql> create table DemoTable
(
   isAdult int
);
Query OK, 0 rows affected (1.39 sec)

Di seguito è riportato come assegnare il valore 1 predefinito alla colonna già creata:

mysql> alter table DemoTable CHANGE isAdult isAdult BOOLEAN DEFAULT '1' NOT NULL;
Query OK, 0 rows affected (1.18 sec)
Records: 0 Duplicates: 0 Warnings: 0

Inserisci alcuni record nella tabella utilizzando il comando di inserimento:

mysql> insert into DemoTable values();
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values(0);
Query OK, 1 row affected (0.15 sec)

Visualizza tutti i record dalla tabella utilizzando l'istruzione select :

mysql> select *from DemoTable;

Ciò produrrà il seguente output:

+---------+
| isAdult |
+---------+
|       1 |
|       1 |
|       0 |
+---------+
3 rows in set (0.00 sec)

Articoli correlati: