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

mysql:cập nhật với truy vấn con,

Nếu bạn muốn cập nhật tất cả các hàng trong data bảng, bạn có thể làm như sau:

UPDATE data
  LEFT
  JOIN node
    ON node.title = data.name
   SET data.id = node.nid

LƯU Ý:

Nếu có nhiều hàng trong nút node có cùng giá trị cho title , khớp với một name trong dữ liệu node , không thể xác định giá trị của nid ở hàng nào trong số các hàng đó sẽ được chỉ định từ.

Nếu có các giá trị của name trong data bảng không được tìm thấy trong nút node bảng (trong title ), thì giá trị NULL sẽ được gán cho id cột.

Một số chỉnh sửa đối với truy vấn có thể sửa đổi hành vi này.

Có thể thực hiện điều này bằng cách sử dụng một truy vấn con, nhưng tôi sẽ chỉ sử dụng một phép toán nối. Tôi nghĩ bạn có thể sử dụng một truy vấn con tương quan, như sau:

UPDATE data
   SET data.id = ( SELECT node.nid
                     FROM node
                    WHERE node.title = data.name
                    ORDER BY node.nid
                    LIMIT 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. tạo url api còn lại để kết nối với cơ sở dữ liệu mysql

  2. Hàm MySQL password () sang PHP

  3. Làm cách nào để xuất cơ sở dữ liệu SQL Server sang MySQL?

  4. Làm thế nào để chuyển đổi thời gian sang múi giờ của thiết bị iPhone?

  5. Làm cách nào để chọn hàng thứ n trong bảng cơ sở dữ liệu SQL?