MySQL แปลง BOOLEAN เป็น TINYINT(1) ภายใน: true = 1, false = 0 ใช้ UPDATE ธรรมดาได้เลย
ไวยากรณ์
UPDATE yourTable SET yourBooleanColumn = yourValue WHERE condition;
ตัวอย่างการใช้งาน
สร้างตาราง UpdateBooleans:
mysql> CREATE TABLE UpdateBooleans (
-> Id INT NOT NULL AUTO_INCREMENT,
-> isSuccessful BOOLEAN,
-> PRIMARY KEY(Id)
-> );
เพิ่มข้อมูล true/false:
mysql> INSERT INTO UpdateBooleans(isSuccessful) VALUES(true),(false),(true),(false),(false),(false),(true);
ข้อมูลก่อนอัปเดต (แสดงเป็น 1/0)
+----+--------------+ | Id | isSuccessful | +----+--------------+ | 1 | 1 | | 2 | 0 | | 3 | 1 | | 4 | 0 | | 5 | 0 | | 6 | 0 | | 7 | 1 | +----+--------------+
คำสั่งอัปเดต: เปลี่ยน false (0) ทั้งหมดเป็น true (1)
mysql> UPDATE UpdateBooleans SET isSuccessful = TRUE WHERE isSuccessful = FALSE;
ผลลัพธ์หลังอัปเดต (ทั้งหมดกลายเป็น 1)
+----+--------------+ | Id | isSuccessful | +----+--------------+ | 1 | 1 | | 2 | 1 | | 3 | 1 | | 4 | 1 | | 5 | 1 | | 6 | 1 | | 7 | 1 | +----+--------------+
คำอธิบาย: ใช้ TRUE/FALSE หรือ 1/0 แทนกันได้ใน WHERE และ SET เพราะ MySQL แปลงอัตโนมัติ