繁体   English   中英

2种独特的字段组合,反之亦然

[英]2 unique field combination vice versa

您好,是否可以同时包含2个字段?

例:

ID  catID
 1    58 

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

谢谢

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

select concat(id, '-', catId) as CombinedId
from t;

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

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

但是,不建议这样做。 如果要比较,则可以分别使用两个值。

假设IDcatID是对称1 ,则可以简单地:

CHECK (ID < catID)

或者可能(取决于您的要求):

CHECK (ID <= catID)

对于每个XY (ID = X, catID = Y) 1 Ie (ID = X, catID = Y)等效于(ID = Y, catID = X)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM