3

这是一个非常基本的表格来说明我的问题。

CREATE TABLE Customer (
CustID         INT,
CustLastName   VARCHAR (20),
ReferralID     INT,
ADD CONSTRAINT PRIMARY KEY (CustID),
ADD CONSTRAINT FOREIGN KEY (ReferralID) REFERENCES Customer(CustID)
);

我当前的代码确保只有拥有 CustID 的任何以前的客户都可以在 ReferralID 列中(即他们告诉客户有关商店的信息。)但是,问题是没有什么能阻止 CustID 在同一行中与 ReferralID 相等,这显然是不可能的. 客户不能告诉自己有关商店的信息。

基本上,如何阻止 CustID 和 ReferralID 在同一行中具有相同的值?

谢谢你,安德鲁

4

1 回答 1

1

为此,您需要一个 CHECK 约束。但是 MySQL 还没有实现 CHECK 约束,所以你可以使用触发器来代替。

有关的

于 2012-09-20T03:15:00.287 回答