0
我在将所有外键与主键链接时遇到问题。我有两个表格:MySql外键主键不匹配
CREATE TABLE Patients
(pid INT NOT NULL AUTO_INCREMENT,
name VARCHAR(25),
address VARCHAR(30),
telephone VARCHAR(10),
care_centre_id INT,
CONSTRAINT Patients_PK PRIMARY KEY (pid));
CREATE TABLE Care_centres
(cid INT NOT NULL AUTO_INCREMENT,
name VARCHAR(25),
location VARCHAR(30),
nurse_charge_id INT,
CONSTRAINT Care_centres_PK PRIMARY KEY (cid));
ALTER TABLE Patients ADD FOREIGN KEY (care_centre_id) REFERENCES Care_centres(cid);
cid是Care_centres表的主键,care_cente_id是Patients表的外键。每当我运行查询表(MySql)时,它都会在外键中显示NULL值。如何索引外键与主键的对应关系,随机赋值给外键是可以的。
mysql> SELECT * FROM Patients;
+-----+--------+----------------+------------+----------------+
| pid | name | address | telephone | care_centre_id |
+-----+--------+----------------+------------+----------------+
| 1 | Joe | 8 Walker Road | 7800921111 | NULL |
| 2 | Jose | 10 Runner Road | 7800922222 | NULL |
| 3 | Joseph | 12 Jogger Road | 7800923333 | NULL |
+-----+--------+----------------+------------+----------------+
任何想法?
谢谢。
仅仅因为你指定了一个FK并不意味着mysql可以神奇地为你填充这些值。由于您允许'care_center_id'为空,因此mysql不需要'care_centers'中的匹配父记录。 –
感谢您的帮助!我想我现在明白了。 –