Mysql 2唯一字段组合,反之亦然

Mysql 2唯一字段组合,反之亦然,mysql,database-design,Mysql,Database Design,您好,两个字段的组合是否可以,反之亦然 例如: ID catID 1 58 这样我们就无法将另一行存储为58-1。目前我在这两个字段上都有主键,但它允许我存储58-1组合 谢谢您可以使用concat()组合这两个字段: 如果愿意,可以将其封装在视图中 如果愿意,可以使用CombinedId连接到另一个表 但是,不建议这样做。如果要进行比较,请分别使用这两个值。假设ID和catID是对称的,您可以简单地: CHECK (ID < catID) 检查(ID

您好,两个字段的组合是否可以,反之亦然

例如:

ID  catID
 1    58 
这样我们就无法将另一行存储为58-1。目前我在这两个字段上都有主键,但它允许我存储58-1组合


谢谢

您可以使用
concat()
组合这两个字段:

如果愿意,可以将其封装在视图中

如果愿意,可以使用
CombinedId
连接到另一个表


但是,不建议这样做。如果要进行比较,请分别使用这两个值。

假设
ID
catID
是对称的,您可以简单地:

CHECK (ID < catID)
检查(ID
或者可能(取决于您的要求):


检查(ID此操作的目的是什么?创建一个触发器。存储相关链接而不存在重复项。我的select语句同时检查字段ID和catID,这样我们就不会存储两个类别的两条记录,而是一条。我想这是不可能的。没问题,我认为可以通过结构来完成。这只是一种预防措施,我必须先检查,然后再检查不要存储重复数据。
CHECK (ID < catID)
CHECK (ID <= catID)