gpt4 book ai didi

php - 使用 PHP 和 PDO 减少多行的列值

转载 作者:行者123 更新时间:2023-11-29 06:34:45 24 4
gpt4 key购买 nike

我有一个具有以下结构的 MySql 产品表(通过 PHP 和 PDO 访问):

CREATE TABLE IF NOT EXISTS `products` (
`id` varchar(255) NOT NULL,
`name` varchar(255) NOT NULL,
`description` text NOT NULL,
`order` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

产品通过订单字段显示。当我删除一个产品时,我想减少以下所有行的订单值(即,如果我使用 order=2 删除产品,我想从 order=3 更新以下行order=2,下一个从 order=4order=3,依此类推...)。

我显然希望使用 PDO 以最有效的方式执行此查询。我找到了 this question并在 PhpMyAdmin 中尝试了以下语句:

UPDATE products SET order = order - 1 WHERE (order>2)

但它给了我以下错误:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order = order - 1 WHERE (order>2)' at line 1

我错过了什么?那么,PDO 的正确写法是什么?

最佳答案

ORDER is the reserved word .使用反引号转义它:

UPDATE `products` SET `order` = `order` - 1 WHERE (`order` > 2);

关于php - 使用 PHP 和 PDO 减少多行的列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25618112/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com