如何将值从一个表插入到另一表?

时间:2019-02-07 17:26:31

标签: mysql

我有一个authors表,其中包含作者姓名和author_id(主键)。另一个名为books的表也具有作者名和author_id(外键)。我已在书表中手动插入了作者姓名的值。 现在,我想使用以下查询在书本表的作者ID中插入值:

insert INTO tblbooks (Au_id) 
SELECT tblauthors.Au_id FROM tblauthors JOIN tblbooks ON 
tblbooks.a_name=tblauthors.AuthorName;

但是我遇到一个错误:

1062-密钥“ PRIMARY”的重复条目“

1 个答案:

答案 0 :(得分:0)

由于books表中已有数据,因此需要更新作者ID,而不是插入

UPDATE tblbooks b
        INNER JOIN
    tblauthors a ON b.a_name = a.AuthorName 
SET 
    b.Au_id = a.Au_id;