【问题标题】:SQL, how to treat structured infosSQL,如何处理结构化信息
【发布时间】:2016-10-30 22:45:32
【问题描述】:

我需要你的帮助,我有点麻烦。

我有一个“结构化”信息,在所有字段中必须是唯一的,但不能单独使用。

例如:

列:Two_Letters | Firts_Digit |秒数 |三位数 |四个字母

我希望条目 AA|2|3|4|BBBB 是唯一的,但我可以插入 AA|2|3|4|CCCC

显然,字母可以从 A 到 Z,数字可以从 0 到 9。

建议?

【问题讨论】:

  • 不要将此值作为连接字符串存储在 DB 中,而是将其拆分为单独的列。在这种情况下,您将能够在这些列上创建唯一键。
  • 将唯一约束 unique(Two_Letters, Firts_Digit, Second_Digit, Third_Digit, Four_Letters) 添加到您的表中。
  • @AndyKorneyev 它们不是串联的字符串,这就是问题所在。我有一个结构化的代码字符串,我选择在列中拆分(我在第一篇文章中称为“字段”)致 JARLH:我已经通过查询和 mysql workbench gui 对它们进行了唯一化,如果我插入( AA,1,2,3,AAAA) 和 (AA,1,3,4,BBBB) 我在第一列出现“重复输入”错误

标签: sql unique info


【解决方案1】:

认为已解决: 由于我已经通过 MySQL Workbench 完成了所有编辑,因此我不考虑与每列关联的“复选框 UNIQUE”与我真正想要的“唯一约束”之间的差异。所以我的问题的解决方案是: -ALTER TABLE table_name 添加约束唯一(Two_Letters,Firts_Digit,Second_Digit,Third_Digit,Four_Letters); 与在 MySQL WB 上的 gui 编辑表中未选中“UQ”复选框相关联。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多