Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

UPDATE Syntax dengan ORDER BY, LIMIT dan Multiple Tables

Solusinya adalah menyusun ORDER BY dan LIMIT dalam klausa FROM sebagai bagian dari gabungan. Ini memungkinkan Anda menemukan baris yang tepat untuk diperbarui (ta.id) terlebih dahulu, lalu komit pembaruan.

UPDATE tableA AS target
    INNER JOIN (
      SELECT ta.id
      FROM tableA AS ta
        INNER JOIN tableB AS tb ON tb.id = ta.user_id
        WHERE tb.username = '$varName'
        ORDER BY ta.datetime DESC
        LIMIT 1) AS source ON source.id = target.id
    SET col1 = '$var';

Kiat topi untuk Baron Schwartz, a.k.a. Xaprb, untuk posting luar biasa tentang topik yang tepat ini:http://www.xaprb.com/blog/2006/08/10/how-to-use- order-by-and-limit-on-multi-table-updates-in-mysql/



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara kerja tampilan MySQL?

  2. SQL GABUNG dua tabel dengan AVG

  3. ekstensi java.sql.Connection untuk SSH

  4. Cara tercepat untuk beralih melalui tabel besar menggunakan JDBC

  5. Bagaimana cara mengembalikan file dump dari mysqldump menggunakan kubernetes?