LIMIT în MySQL Update Row (Programare, Mysql, Sql)

Rina Patel a intrebat.

Încerc să actualizez un rând în baza mea de date. Dacă execut fără limită, funcționează bine, dar dacă o execut cu limită, îmi dă o eroare ca mai jos

1064 – Aveți o eroare în sintaxa SQL; verificați manualul care corespunde versiunii serverului dvs. MySQL pentru a afla sintaxa corectă de utilizat lângă ’35’ la linia 1

Interogarea mea este ca mai jos

UPDATE number_list SET sync = 0 WHERE server = 1 ORDER by id ASC LIMIT 0,35

Anunțați-mă dacă cineva mă poate corecta.

Comentarii

  • Posibil duplicat al MySQL – interogare UPDATE cu LIMIT –  > Por Tobias K..
1 răspunsuri
Gordon Linoff

Puteți utiliza limit în cadrul unei update (în MySQL), dar nu și un offset. Așa că faceți doar:

UPDATE number_list
     SET sync = 0
     WHERE server = 1
     ORDER by id ASC
     LIMIT 35;

Acest lucru este un pic subtil, deoarece SELECT acceptă offset-uri. Cu toate acestea, este clar în diagrama de sintaxă pentru UPDATE.

Comentarii

  • Vreau să setez offset în interogarea mea, cum ar fi LIMIT 35,35 și LIMIT 70,35 etc. Mulțumesc.  > Por Rina Patel.
  • @RinaPatel . . . . Aceasta nu este întrebarea pe care ați pus-o. Dacă aveți un alt întrebare, atunci puneți o altă întrebare. După cum am menționat, MySQL nu acceptă OFFSET pentru actualizarea tabelului. –  > Por Gordon Linoff.

Tags:,