вставить значения из столбца в таблице A в таблицу B - PullRequest
1 голос
/ 06 мая 2019

Таблица «содержимое» имеет первичный ключ в качестве идентификатора

ID    name     languages_ID
============================
33   lesson1     16
34   lesson2     17

Таблица "content_progress" имеет первичный ключ в качестве идентификатора и внешний ключ в качестве content_ID


ID   content_ID 
================
1      33     
2      33           
3      33         
4      34    

Я добавил столбец в таблице content_progress как languages_ID, где его значения должны быть заполнены из столбца languages_ID в таблице содержимого, где content.ID = content_progress.content_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

1 Ответ

1 голос
/ 06 мая 2019

insert создает новые строки в таблице.Поскольку у вас уже есть строки и вы просто хотите обновить их, вам нужно использовать оператор update или, более конкретно, оператор update-join:

UPDATE content_progress cp
JOIN   content c ON c.id = cp.content_id
SET    cp.languages_id = c.languages_id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...