您可以使用UPDATE命令更新布尔值。如果使用BOOLEAN数据类型,则MySQL在内部将其转换为tinyint(1)。它可以采用true或false文字,其中true表示tinyint(1)的值为1,false表示tinyint(1)的值为0。
语法如下-
UPDATE yourTableName SET yourColumnName = yourValue WHERE yourCondition;
为了理解上述语法,让我们创建一个表。创建表的查询如下-
mysql> create table UpdateBooleans -> ( -> Id int NOT NULL AUTO_INCREMENT, -> isSuccessful BOOLEAN, -> PRIMARY KEY(Id) -> );
使用insert命令在表中插入一些记录。查询如下-
mysql> insert into UpdateBooleans(isSuccessful) values(true); mysql> insert into UpdateBooleans(isSuccessful) values(false); mysql> insert into UpdateBooleans(isSuccessful) values(true); mysql> insert into UpdateBooleans(isSuccessful) values(false); mysql> insert into UpdateBooleans(isSuccessful) values(false); mysql> insert into UpdateBooleans(isSuccessful) values(false); mysql> insert into UpdateBooleans(isSuccessful) values(true);
使用select语句显示表中的所有记录。查询如下-
mysql> select *from UpdateBooleans;
以下是输出-
+----+--------------+ | Id | isSuccessful | +----+--------------+ | 1 | 1 | | 2 | 0 | | 3 | 1 | | 4 | 0 | | 5 | 0 | | 6 | 0 | | 7 | 1 | +----+--------------+ 7 rows in set (0.00 sec)
这是更新布尔值的查询。让我们将所有0更新为1:
mysql> update UpdateBooleans set isSuccessful = true where isSuccessful = false; Rows matched: 4 Changed: 4 Warnings: 0
再次显示表中的记录。查询如下:
mysql> select *from UpdateBooleans;
以下是输出:
+----+--------------+ | Id | isSuccessful | +----+--------------+ | 1 | 1 | | 2 | 1 | | 3 | 1 | | 4 | 1 | | 5 | 1 | | 6 | 1 | | 7 | 1 | +----+--------------+ 7 rows in set (0.00 sec)