gpt4 book ai didi

mysql - 选择正确的 MySQL 查询

转载 作者:行者123 更新时间:2023-11-29 09:15:40 26 4
gpt4 key购买 nike

在我的项目中,我使用一个 MySQL 表来存储每个 id 的实际信息(省略了不必要的字段):

CREATE TABLE  mytable (
`id` varchar(8) NOT NULL,
`DateTime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
) ENGINE=MyISAM

我需要更新此表中的行,并插入新的DateTime(如果传入的DateTime 较新)。但同时我不知道表中是否已经存在具有此类 id 的行。这是我想要实现的伪代码:

if id does not exist
insert id and DateTime
else if newDateTime > DateTime
update DateTime
  • 我尝试使用替换,但据我所知,无法比较替换正文中的字段。
  • 我尝试使用更新,但如果行尚不存在 - 则不会插入新信息。

是否可以在一个查询中执行类似的操作?如果不是 - 解决方法是什么?

PS:我认为我没有添加存储过程的权限,所以这应该是最后的手段。

最佳答案

我已经测试过这个并且它有效。我对此感到非常自豪。

INSERT INTO mytable (`id`,`DateTime`)
VALUES ('your_new_id','your_new_DateTime')
ON DUPLICATE KEY UPDATE `DateTime` = IF(`DateTime` < 'your_new_DateTime', 'your_new_DateTime', `DateTime`)

关于mysql - 选择正确的 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4269521/

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