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

Tham chiếu đến cùng một bảng cả mục tiêu CẬP NHẬT và nguồn dữ liệu trong MySql

Một phương pháp là sử dụng join thay vào đó:

UPDATE wp_usermeta meta JOIN
       wp_usermeta meta2
       on meta.user_id = meta2.user_id and
          meta2.meta_key = 'nickname'
SET meta.meta_value = meta2.meta_value
WHERE meta.user_id = %d AND meta.meta_key = 'first_name';

Tôi có thể đề xuất thêm thứ gì đó vào where mệnh đề chẳng hạn như meta.meta_value is not null , chỉ trong trường hợp tên đầu tiên đã được điền. Tuy nhiên, bạn dường như muốn sao chép trường, đó là những gì ở trên.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hàm tổng hợp mảng MYSQL như PostgreSQL array_agg

  2. Câu hỏi bảo mật trang web động (PHP + MySQL)

  3. Làm cách nào để loại bỏ các mục trùng lặp trong MySQL với tập dữ liệu 20 triệu hàng?

  4. MySQL:Cấp ** tất cả ** đặc quyền trên cơ sở dữ liệu

  5. Chọn các cột trên các cơ sở dữ liệu khác nhau