[請益] MySQL UPDATE 搭配 LIMIT 限制數值會報錯

看板PHP作者 (鮮蚵起司)時間10年前 (2015/11/14 02:47), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串1/1
EX. MySQL 資料庫 ┌──┬──┬──┐ │no│id│un│ ├──┼──┼──┤ │26│aa│10│←修改不同un值 ├──┼──┼──┤ │28│aa│10│←修改不同un值 ├──┼──┼──┤ │29│aa│12│←修改不同un值 ├──┼──┼──┤ │33│aa│13│←修改不同un值 ├──┼──┼──┤ │42│bb│12│ ├──┼──┼──┤ │48│bb│15│ ├──┼──┼──┤ │52│aa│10│←修改不同un值 ├──┼──┼──┤ │53│bb│12│ └──┴──┴──┘ 我想要用for迴圈,修改id欄位aa的不同un值, MySQL一值有問題,UPDATE 不能使用 兩個數字 LIMIT限制,似乎只能一個數字 LIMIT一 次修改相同的值, 這樣我該怎麼解決垂直更新aa的un值呢? 試了好幾個方法都沒辦法... 錯誤訊息如下: UPDATE `test` SET `un`= 18 WHERE `id` = 'aa' LIMIT 0,1; 錯誤 MySQL 回應: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '1' at line 1 ------------------------------------ 另外我找到一個似乎可以實現的語法,雖然不會報錯,但把un值都修改相同的值.... 這段MySQL到底是什麼意思呢? UPDATE `test` SET `un`= 18 WHERE `un` IN ( SELECT `un` FROM ( SELECT `un` FROM `test` ORDER BY `un` ASC LIMIT 0, 1 ) tmp ); -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.194.216.50 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1447440452.A.FAA.html

11/14 17:54, , 1F
update 的 limit 不能接 offset 只能接 row_count
11/14 17:54, 1F

11/14 22:09, , 3F
看不太懂說,只要修改一筆不是用no當條件就好了?
11/14 22:09, 3F

11/15 15:49, , 4F
對阿 明明就有唯一的no欄位放著不用
11/15 15:49, 4F
文章代碼(AID): #1MHZ14-g (PHP)
文章代碼(AID): #1MHZ14-g (PHP)