作者rls0914 (鲜蚵起司)
看板PHP
标题[请益] MySQL UPDATE 搭配 LIMIT 限制数值会报错
时间Sat Nov 14 02:47:30 2015
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://webptt.com/cn.aspx?n=bbs/PHP/M.1447440452.A.FAA.html
1F:推 kerash: update 的 limit 不能接 offset 只能接 row_count 11/14 17:54
3F:→ xdraculax: 看不太懂说,只要修改一笔不是用no当条件就好了? 11/14 22:09
4F:→ MOONRAKER: 对阿 明明就有唯一的no栏位放着不用 11/15 15:49