gpt4 book ai didi

mysql - 我可以在删除所有旧行(相同的主行除外)之前向 MySQL 添加行吗?

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

如果我有一个包含这些行的表:

animal (primary)
-------
man
dog
cow

我想删除所有行并插入新行(可能包含一些相同的数据),例如:

animal (primary)
-------
dog
chicken
wolf

我可以简单地做这样的事情:

delete from animal;

然后插入新行。

但是当我这样做时,有那么一瞬间,“dog”将无法通过 SELECT 语句访问。

我可以简单地插入忽略新数据,然后逐一删除其余数据,但当我有很多行时,这感觉不是正确的解决方案。

有没有办法插入新数据,然后让MySQL自动删除其余数据?

我有一个程序每 5 分钟从该表中选择一次数据(我现在编写的代码将每 30 分钟更新一次该表),所以我希望始终尽可能准确,我宁愿一瞬间有太多行,也不愿同时有太少行。

注意:我知道这可能看起来没有必要,但我只是觉得如果我把太多不太可能发生的可能性放在不同的地方,有时就会出现问题。

最佳答案

您可能想在此处使用 TRUNCATE 而不是 DELETE。 TRUNCATE 比 DELETE 更快,并将表重置回空状态(意味着 IDENTITY 列也重置为原始值)。

不确定为什么您在选择已删除并重新添加的值时遇到问题,也许我缺少一些上下文。但如果您要将表清空,您可能需要使用 truncate 来代替。

关于mysql - 我可以在删除所有旧行(相同的主行除外)之前向 MySQL 添加行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53014752/

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