gpt4 book ai didi

MySQL:对行组合设置唯一限制的问题

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

我试图对列的组合而不是单个列设置独特的限制。我有一个表,“标签”:

  • id(整数、PK、AI、无符号)
  • 标签(varchar 25)
  • user_id(整数,无符号)

按照 this question 的回答,我尝试通过以下方式设置组合限制:

ALTER TABLE `tags` ADD UNIQUE `unique_tag_user_combo` (`tag`, `user_id`);

到目前为止,一切都很好。但是当我来测试它时,看看它是否允许我插入相同的标签两次但使用不同的用户 ID(它应该),它会出错:

INSERT INTO `tags` VALUES (NULL, 'foo', '1'), (NULL, 'foo', '2')

...抛出...

Duplicate entry 'foo' for key 'name_2' 

请记住,唯一的限制是 tag + user_id 的组合,因此在我看来,这个查询应该运行良好。如果我尝试插入 foo/1 两次,而不是 foo/1 和 foo/2,我就能理解这个错误。我错过了什么?

(编辑 - 另外,错误消息中的“name_2”引用是什么?我没有具有该名称的列...)

最佳答案

您可能还在标签列上有一个唯一索引。使用

SHOW CREATE TABLE yourtb

关于MySQL:对行组合设置唯一限制的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24406920/

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