UPDATE forms SET
pos = (SELECT MIN(pos)-1 FROM forms)
WHERE id=$id
这不起作用,错误消息:
**You can't specify target table 'form' for update in FROM clause**
我希望很清楚:我想从同一个表中获取最小的 element-1 并将其分配给 pos
Consp 是对的,它不受支持。不过,有一个解决方法:
UPDATE forms SET
pos = (SELECT MIN(pos)-1 FROM (SELECT * FROM forms) AS x)
WHERE id=$id
可能更快的版本:
UPDATE forms
SET pos = (SELECT pos-1 FROM (SELECT MIN(pos) AS pos FROM forms) AS x)
where id=$id
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)