当我尝试执行以下查询时,我收到上述错误:
insert into person_address(PersonID)
select personID from person;
所以我基本上想要实现的是将数据从我的主键插入到我的外键中,因为当数据首次输入到人员表时它们没有被链接。
我是否正确插入此数据,然后使用更新查询创建存储过程以在将来更新这些表?
表格结构:
person_address(包含人员和地址表的外键以及我在哪里插入值)
AddressID int(11) NO PRI
PersonID int(11) YES MUL
人:
personID int(11) NO PRI auto_increment
Forename varchar(30) YES
Surname varchar(30) YES
PhoneNumber varchar(15) YES
Email varchar(100) YES
地址:
addressID int(11) NO PRI auto_increment
line1 varchar(100) YES
line2 varchar(100) YES
county varchar(50) YES
postcode varchar(8) YES
country varchar(20) YES
答案 0 :(得分:0)
您的person_address
表包含一个名为AddressID
的列。它定义为NOT NULL
,但在插入记录时不提供值。
因此要么在insert语句中提供值,要么为列定义默认值。
我猜您的AddressID
列是您表格的主键。所以你可能忘了把它定义为AUTO INCREMENT。