Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào để cập nhật các giá trị boolean trong MySQL?

Bạn có thể cập nhật giá trị boolean bằng lệnh UPDATE. Nếu bạn sử dụng kiểu dữ liệu BOOLEAN, MySQL sẽ chuyển đổi nội bộ nó thành tinyint (1). Nó có thể có nghĩa đen đúng hoặc sai, trong đó true biểu thị 1 đến tinyint (1) và false biểu thị 0 cho tinyint (1).

Cú pháp như sau -

UPDATE yourTableName SET yourColumnName = yourValue WHERE yourCondition;

Để hiểu cú pháp trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau -

mysql> create table UpdateBooleans
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> isSuccessful BOOLEAN,
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (1.55 sec)

Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau -

mysql> insert into UpdateBooleans(isSuccessful) values(true);
Query OK, 1 row affected (0.17 sec)

mysql> insert into UpdateBooleans(isSuccessful) values(false);
Query OK, 1 row affected (0.21 sec)

mysql> insert into UpdateBooleans(isSuccessful) values(true);
Query OK, 1 row affected (0.13 sec)

mysql> insert into UpdateBooleans(isSuccessful) values(false);
Query OK, 1 row affected (0.15 sec)

mysql> insert into UpdateBooleans(isSuccessful) values(false);
Query OK, 1 row affected (0.24 sec)

mysql> insert into UpdateBooleans(isSuccessful) values(false);
Query OK, 1 row affected (0.17 sec)

mysql> insert into UpdateBooleans(isSuccessful) values(true);
Query OK, 1 row affected (0.12 sec)

Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau -

mysql> select *from UpdateBooleans;

Sau đây là kết quả -

+----+--------------+
| Id | isSuccessful |
+----+--------------+
| 1  | 1            |
| 2  | 0            |
| 3  | 1            |
| 4  | 0            |
| 5  | 0            |
| 6  | 0            |
| 7  | 1            |
+----+--------------+
7 rows in set (0.00 sec)

Đây là truy vấn để cập nhật các giá trị boolean. Hãy để chúng tôi cập nhật tất cả các số 0 thành 1:

mysql> update UpdateBooleans set isSuccessful = true where isSuccessful = false;
Query OK, 4 rows affected (0.15 sec)
Rows matched: 4 Changed: 4 Warnings: 0

Hiển thị các bản ghi từ bảng một lần nữa. Truy vấn như sau:

mysql> select *from UpdateBooleans;

Sau đây là kết quả:

+----+--------------+
| Id | isSuccessful |
+----+--------------+
| 1  | 1            |
| 2  | 1            |
| 3  | 1            |
| 4  | 1            |
| 5  | 1            |            
| 6  | 1            |
| 7  | 1            |
+----+--------------+
7 rows in set (0.00 sec)