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)