表“内容”的主键为ID
ID name languages_ID
============================
33 lesson1 16
34 lesson2 17
表“ content_progress”的主键为ID,外键为content_ID
ID content_ID
================
1 33
2 33
3 33
4 34
我在content_progress表中添加了一个languages_ID列,其中的值应从content.ID = content_progress.content_ID的内容表的language_ID列中填充
我尝试了不同的SQL查询,但没有理想的结果。
INSERT INTO content_progress (languages_ID)
SELECT
languages_ID
FROM
content
WHERE
content.id = content_progress.content_ID;
ID content_ID languages_ID
============================
1 33 16
2 33 16
3 33 16
4 34 17
答案 0 :(得分:1)
insert
在表中创建新行。由于您已经有行并且只想更新它们,因此需要使用update
语句,或更具体地说,使用update-join语句:
UPDATE content_progress cp
JOIN content c ON c.id = cp.content_id
SET cp.languages_id = c.languages_id