Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cập nhật nhiều cột có cùng giá trị, cú pháp ngắn gọn

Không đúng.
Biểu thức:

c1=c2=1

được đánh giá như sau:

c1=(c2=1)

Đối với MySql, biểu thức boolean c2=1 đánh giá thành 0 hoặc 1 cho false hoặc true tương ứng.
Vì vậy, 0 hoặc 1 sẽ được gán cho c1 và trong trường hợp này là vì c2=1false kết quả sẽ là 0 .
Bạn phải sử dụng các phép gán riêng cho từng cột:

update t1 
set 
  c1=1,
  c2=1;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sự khác biệt giữa tinyint, smallint, mediumint, bigint và int trong MySQL là gì?

  2. Tìm kiếm MySQL Fulltext luôn có 0 kết quả?

  3. MySQL:Xóa các hàng có chứa một tham số cụ thể và cũ hơn sau đó một ngày

  4. Làm cách nào để GROUP BY DESC chọn thứ tự?

  5. Cakephp - chứa (hành vi có thể chứa) tìm nạp quá nhiều