gpt4 book ai didi

MySQL - 检查唯一约束的顺序

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

我有一个包含 4 个唯一列的表(Id、电子邮件、姓名、FacebookId)。 Id 是自动递增的,因此与问题无关。我想知道是否有办法指定唯一字段的优先级。

例如,我插入(test@test.com, Test, 123456)。然后我尝试插入相同的数据,这会触发电子邮件列上的约束违规。有没有办法首先在 FacebookId 列上触发此违规?

我尝试对 phpMyAdmin 中的列重新排序,还尝试以不同的顺序删除和添加唯一约束,但没有任何效果。这可能吗?

最佳答案

嗯...我在 mysql.com 上找到了这个,这有帮助吗?

MySQL supports an IGNORE keyword for INSERT, UPDATE, and so forth. If you use it, MySQL ignores primary-key or unique-key violations and continues processing with the next row.

(来源:https://dev.mysql.com/doc/refman/5.0/en/constraint-primary-key.html)

这是他们关于使用 IGNORE 和 INSERT 的部分,顶部是一个我认为可能确实有用的示例 - 看起来他们正在优先考虑事情 - 请检查一下!我希望这有帮助:https://dev.mysql.com/doc/refman/5.0/en/insert.html

您希望 SQL 只担心 FacebookId,还是只希望它首先验证 FacebookId 不是重复的,然后继续验证其他列的数据也没有被欺骗(在本例中)可能只是电子邮件,因为多个人可以拥有相同的姓名拼写),例如“首先确保 FacebookId 是唯一的,然后确保电子邮件是唯一的”等?

关于MySQL - 检查唯一约束的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30085882/

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