gpt4 book ai didi

mysql - 插入忽略多列数据唯一

转载 作者:行者123 更新时间:2023-11-29 02:19:44 25 4
gpt4 key购买 nike

我很好奇是否有一种方法可以插入 MySQL 并避免重复。我知道有三种主要方法可以实现它。替换、插入忽略或插入重复键。我相信这些中的每一个都依赖于一个唯一的主键,对我来说这是一个自动递增的 id 字段。这个 id 字段对我的特定插入需求没有任何值(value),相反我想检查一些字段是否包含相同的值,如果不确保

例如:

INSERT INTO table (name, team, email) VALUES (:n, :t, :e)

如果我有三个这样的数据集

1) array (":n" => "john doe", ":t" => 1, ":e" => john@doe.com);
2) array (":n" => "Jane doe", ":t" => 1, ":e" => john@doe.com);
3) array (":n" => "john doe", ":t" => 1, ":e" => john1@doe.com);
4) array (":n" => "john doe", ":t" => 2, ":e" => john1@doe.com);

假设表中没有值

将插入 1、3 和 4,但不会插入 2,因为团队和电子邮件不是唯一的

我知道我可以创建第四列并将电子邮件和团队添加到其中并创建一个唯一值并使用它但是我不希望这样做,因为它是冗余数据。

谢谢

最佳答案

你可以创建一个UNIQUE约束

 ALTER TABLE `tableName` ADD UNIQUE `unique_idx`(`name`, `team`, `email`);

关于mysql - 插入忽略多列数据唯一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33814304/

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