我创建了一个简单的用户表,其中包含用户ID和用户名(唯一)。
创建了另一个表单元,这个表包含cratedby,我想在users表中记录用户名。我创建了一个外键字段。用户在用户名中创建。它没有任何问题。
现在我创建了另一个表customers1,它还有一个字段cratedby(用户名之一)。当我建立外键关系时抛出一个错误 - 外键constaint错误地形成。
任何表格中都没有数据。为什么它的工作单位表不在customers1表中。我正在上传3张图片。
请帮忙...我读过类似的问题尝试了几个选项,但没有奏效。 3 Tables, HeidiSQL
答案 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));