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

#1221 - Penggunaan UPDATE dan ORDER BY yang salah

Anda tidak dapat menggunakan order by dan limit dalam pernyataan update untuk beberapa tabel.

Mengutip Dari Dokumentasi MySQL:

UPDATE user u 
INNER JOIN 
(
    SELECT 
    *,
    (@i := (@i + 1)) AS row_number
    FROM user u 
    CROSS JOIN (SELECT @i := 0) r
    WHERE user_active=1
    ORDER BY user_planets DESC
)AS t
ON u.Primary_key = t.primary_key
SET u.user_rank_planets = t.row_number.

Catatan: Ganti u.Primary_key dan t.primary_key dengan kunci utama user tabel.

Baca beberapa paragraf pertama http://dev.mysql.com/doc /refman/5.7/en/update.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. gunakan variabel untuk nama tabel di mysql sproc

  2. Mana yang lebih baik, gabungan implisit atau eksplisit?

  3. Memasukkan data Biner ke MySQL (tanpa PreparedStatement)

  4. Bagaimana cara memanggil prosedur tersimpan mysql, dengan argumen, dari baris perintah?

  5. MySQL ::Pilih dari string yang dipisahkan koma