gpt4 book ai didi

php - 什么会导致更新插入失败(不插入任何行)?

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

我有一个 INSERT INTO ... ON DUPLICATE KEY UPDATE 查询,由于某种原因被 mysql 服务器忽略,至少据我所知是这样。

它捕捉到现有行的更新。

我有一个主键“id”,part_no 被列为唯一键。

这里是查询:

INSERT INTO parts_prices (cost, 
chatsworth,
atlanta,
north_carolina,
new_jersey,
arizona,
colorado,
miami,
indianapolis,
ohio,
oregon,
dallas,
san_antonio,
washington,
memphis,
alt_sup,
part_no)
VALUES (0.00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 'HS3163')
ON DUPLICATE KEY UPDATE
cost=VALUES(cost), chatsworth=VALUES(chatsworth), atlanta=VALUES(atlanta), north_carolina=VALUES(north_carolina), new_jersey=VALUES(new_jersey), arizona=VALUES(arizona), colorado=VALUES(colorado), miami=VALUES(miami),
indianapolis=VALUES(indianapolis), ohio=VALUES(ohio), oregon=VALUES(oregon), dallas=VALUES(dallas), san_antonio=VALUES(san_antonio), washington=VALUES(washington), memphis=VALUES(memphis), alt_sup=VALUES(alt_sup)

第一列是小数,然后是一堆整数,最后两列是varchars。这是零件列表数据库中的一个条目(我们碰巧列出了零件号,但实际上还没有)。我正在遍历所有部件号的列表(通过使用 last_modified 列),这个特定查询不会更新时间戳。

这会不会是因为行中的信息实际上并没有改变(所有指定值都与初始值相同)?

该查询适用于(相当多的)数据库中的先前条目。

[edit] 我检查了 PHP 脚本查询中的响应错误并直接(使用 phpmyadmin),它们不返回任何错误字符串。 [/编辑]

最佳答案

on update current_timestamp 仅当至少有一个列实际更新时才会生效。如果您尝试使用它已有的值更新一行,它不算作更新(受影响的行计数不变)并且 on update 不会生效。

手动添加 last_modified=now() 到您的更新中会更可靠。

关于php - 什么会导致更新插入失败(不插入任何行)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12921568/

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