gpt4 book ai didi

python - 如何防止 mysql 和 python 中的表出现重复条目

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

我正在制作一个将数据插入 MySQL 数据库的脚本,我只需要每天从多个传感器插入一次数据,但我找不到防止多次输入的方法。有没有办法检查条目是否存在,如果不存在则插入数据?这是我的代码中包含语法错误的部分。抱歉,如果错误很明显,我是 SQL 新手。

 mycursor.execute('''
SELECT * FROM MotorControlDB.FSYesterdayVolume
IF Date = %s AND DeviceID = %s THEN
INSERT INTO MotorControlDB.FSYesterdayVolume(DeviceID, VolumeYesterday, Date)
VALUES (%s, '%s', '%s')
END IF
''', (YesterdayDate, '2-ES-WC-FS', '2-ES-WC-FS', EastVolumeYesterday, YesterdayDate))

最佳答案

查看您的查询,我发现您正在检查Date+DeviceID 组合。所以,我假设这两个形式形成一个唯一的 ID。这样,您可以在表上创建唯一索引以防止重复。示例:

CREATE UNIQUE INDEX uniq_idx
ON MotorControlDB.FSYesterdayVolume(Date,DeviceID);

然后你可以简单地使用INSERT IGNORE,如下所示:

INSERT IGNORE INTO MotorControlDB.FSYesterdayVolume(DeviceID, VolumeYesterday, Date)
VALUES (%s, '%s', '%s')

关于python - 如何防止 mysql 和 python 中的表出现重复条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59539143/

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