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

问题描述 投票:0回答:1

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

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

但我收到一个错误:

1062 - Duplicate entry '' for key 'PRIMARY'

mysql
1个回答
0
投票

由于您已经在books表中有数据,因此您需要更新作者ID而不是insert。

UPDATE tblbooks b
        INNER JOIN
    tblauthors a ON b.a_name = a.AuthorName 
SET 
    b.Au_id = a.Au_id;
© www.soinside.com 2019 - 2024. All rights reserved.