无法创建简单外键约束 - 未正确形成

时间:2017-09-07 13:57:04

标签: foreign-keys relationship

我创建了一个简单的用户表,其中包含用户ID和用户名(唯一)。

创建了另一个表单元,这个表包含cratedby,我想在users表中记录用户名。我创建了一个外键字段。用户在用户名中创建。它没有任何问题。

现在我创建了另一个表customers1,它还有一个字段cratedby(用户名之一)。当我建立外键关系时抛出一个错误 - 外键constaint错误地形成。

任何表格中都没有数据。为什么它的工作单位表不在customers1表中。我正在上传3张图片。

请帮忙...我读过类似的问题尝试了几个选项,但没有奏效。 3 Tables, HeidiSQL

1 个答案:

答案 0 :(得分:0)

首先,不要使用Username作为主键而是使用userid,因为用户名可能类似。

第二个FOREIGN KEY是一个表中的一个字段(或字段集合),它引用另一个表中的PRIMARY KEY。在您的表中,userid是主键(上面带有黄色键图标),而不是用户名。

如果您可以使用控制台,请改用它。并执行以下操作

-> CREATE TABLE USERS(USERID INT PRIMARY KEY AUTO_INCREMENT, USERNAME VARCHAR(30));
-> CREATE TABLE UNIT (UNITID INT PRIMARY KEY, USERID INT,FOREIGN KEY (USERID) REFERENCES USERS (USERID));
-> CREATE TABLE CUSTOMER (CUSTOMERID INT PRIMARY KEY, USERID INT, FOREIGN KEY (USERID) REFERENCES USERS (USERID));