gpt4 book ai didi

mysql - 在不自动递增的情况下重用 mysql 表中的行

转载 作者:行者123 更新时间:2023-11-29 05:43:08 24 4
gpt4 key购买 nike

嘿,让我解释一下我的问题。我有一个 mysql 表,我在其中存储来自 5 个不同站点的数据提要。现在我每天更新一次提要。我有这个自动递增的主键 FeedId。现在我要做的是当我更新来自特定站点的提要时,我从我的表中删除该站点以前的数据并输入新数据。这样,新数据将填充到先前删除的数据所占用的行中,如果这次有更多的提要,则在表的末尾输入剩余的数据。但是所有新数据的 FeedId 都会增加。我想要的是存储在旧位置的提要保留以前的 ID,只有最后保存的额外的提要获得新的递增 ID。请帮忙,因为我不知道该怎么做。

最佳答案

更好的解决方案是在提要上设置唯一键(除了自动递增键)。然后使用 INSERT ON DUPLICATE KEY UPDATE

INSERT INTO feeds (name, url, etc, etc2, `update_count`) 
VALUES ('name', 'url', 'etc', 'etc2', 1)
ON DUPLICATE KEY UPDATE
`etc` = VALUES(`etc`),
`etc2` = VALUES(`etc2`),
`update_count` = `update_count` + 1;

好处是您不会递增 ID,并且您仍然在一个原子查询中执行此操作。另外,您只是在更新/更改您需要更改的内容。 (请注意,我包含了 update_count 列以显示如何更新字段)...

关于mysql - 在不自动递增的情况下重用 mysql 表中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4901769/

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