以下のようなSQL文で、0
と1
を交互に入れ替えることができる。
UPDATE flip_flop SET value = value xor 1;
例
mysql> CREATE TABLE flip_flop (value int not null);
Query OK, 0 rows affected (0.01 sec)
mysql> INSERT INTO flip_flop VALUES (0);
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM flip_flop;
+-------+
| value |
+-------+
| 0 |
+-------+
1 row in set (0.00 sec)
mysql> UPDATE flip_flop SET value = value xor 1;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> SELECT * FROM flip_flop;
+-------+
| value |
+-------+
| 1 |
+-------+
1 row in set (0.00 sec)
mysql> UPDATE flip_flop SET value = value xor 1;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> SELECT * FROM flip_flop;
+-------+
| value |
+-------+
| 0 |
+-------+
1 row in set (0.00 sec)