Soru mysql limitini kullanarak birden çok satırı güncelleştirin mi?
UPDATE messages set test_read =1
LIMIT 5, 5 ;
Limit kullanarak 5 satırlık bir kümeyi güncellemek için bu sorguyu kullanmaya çalışıyorum ama mysql bir hata gösteriyor ... Aşağıdaki aşağıdaki çalışıyor
LIMIT 5 ;
İlk neden çalışmıyor?
Bunu gerçekten yapmanız gerekiyorsa, böyle bir şey kullanabilirsiniz:
UPDATE messages SET test_read=1
Çifte yuvalanmış seçime gerçekten ihtiyacınız var mı? Ms sql'de sadece "Kimlik numarası (SELECT TOP 5 ID)" date_added DESC'DEN SİPARİŞLERİNİ SEÇİN "gibi bir şey olurdu. - Alan Jackson
Evet, MySQL, seçtiği bir tabloyu güncellemenize izin vermez. Ekstra yuvalanmış seçim, sonuçları geçici bir tabloya kaydetmek için zorlar. - Lukáš Lalinskı
Ne zaman istersen if you really must do it this way, kendi alanlarından birinin sırasına göre verilen sıralamaya göre kayıtların güncellenmesi için daha iyi bir alternatif olduğunu ima ediyor musunuz? - deed02392
Bu cevaba ilk baktığımda, kesinlikle işe yaramayacağını düşündüm, ama yaptı! Harika cevap ve teşekkür ederim. - Gareth Williams
MySQL 5.5, IN / ALL / ANY / SOME alt sorgusunda LIMIT'i desteklemez. - Ajay Gabani
Belgeleme, LIMIT yan tümcesiyle GÜNCELLEME ifadesinin olduğunu belirtir. etkilenen satırların sırasına göre güvensiz kabul edilir tanımlanmış: http://dev.mysql.com/doc/refman/5.1/en/replication-features-limit.html
Ancak, "ORDER BY PK" kullanılırsa, sıraların sırası tanımlanır ve böyle bir beyan herhangi bir açıklama yapmadan uyarı.