gpt4 book ai didi

如果变量组合不存在,MySQL 插入表

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

如果数据库中不存在两个值的组合,我需要将值插入表中。我不关心 anotherdata (如果它们存在或不存在)。让我们有一个像这样的表:

+---+---+--------------+
| x | y | anotherdata |
+---+---+--------------+
| 1 | 1 | some string |
| 1 | 2 | string2 |
| 1 | 3 | string3 |
+---+---+--------------+

我的解决方案是先查询数据库是否有给定的记录:

SELECT * FROM map WHERE x = ? AND y = ?

如果 num_rows 为 0,则插入新记录:

INSERT INTO table (x, y, anotherdata ) VALUES (?, ?, ?)

如果 num_rows 大于 0,则不执行任何操作。

我不能在这里使用唯一键,因为 x 和 y 不是唯一的。独特之处在于它们的组合。此外,我预计该表有数千条记录,使用多个查询会非常慢。

最佳答案

解决方案是在两列的组合上使用UNIQUE KEY。此外,您的查询应如下所示:

INSERT IGNORE INTO table (x, y, anotherdata ) VALUES (?, ?, ?)

关于如果变量组合不存在,MySQL 插入表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25511288/

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