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

Đặt tất cả các cột của bảng mysql thành một giá trị cụ thể

Nếu bạn đang tìm cách cập nhật tất cả 70 cột thành một giá trị duy nhất bằng một câu lệnh ngắn, đơn giản, thì tôi khuyên bạn nên viết một thủ tục được lưu trữ để thực hiện cập nhật. Bằng cách đó, bạn chỉ cần viết ra cú pháp cập nhật đầy đủ một lần và có thể sử dụng lại nó nhiều lần bằng cách gọi quy trình đã lưu trữ.

CREATE PROCEDURE update_all_columns (p_new_value SMALLINT, p_id INT) ...

CALL update_all_columns(1,2);

Một thủ thuật khác là sử dụng bảng information_schema.columns để tạo câu lệnh cập nhật, làm cho việc viết mã quy trình được lưu trữ bớt tẻ nhạt hơn.

Một cái gì đó như thế này:

SELECT concat('UPDATE ',
table_name,
' SET ',
group_concat(column_name separator ' = p_new_value, '),
' = p_new_value',
' WHERE id = p_id;') as sql_stmt
FROM information_schema.columns 
WHERE table_schema = 'your_schema' 
AND table_name = 'tablename'
AND column_name != 'id'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL truy vấn regex không phân biệt chữ hoa chữ thường

  2. Php:Chuyển đổi một đốm màu thành một tệp hình ảnh

  3. Tìm kiếm toàn văn Mysql với kết quả phù hợp và chống lại

  4. Sử dụng SSL với SQLAlchemy

  5. Ngoại lệ xảy ra trong quá trình xử lý yêu cầu:null:java.lang.NullPointerException sử dụng Spring, Struts 2, Hibernate, MySql