#mysql #sql
#mysql #sql
Вопрос:
У меня есть 2 таблицы в одной базе данных в MYSQL, и я хочу вставить столбец в table1 в столбец в table2, и мое условие таково, если table1.name равно table2.name. Я пробовал это, но не сработало
INSERT INTO Table2 (solId, openTime, closingTime, guid)
SELECT solId, openTime, closingTime, guid
FROM Table1
WHERE Table2.name = Table1.name;
Комментарии:
1. Это где не имеет смысла. У вас нет доступа к данным table2 там. В любом случае, чего вы пытаетесь достичь? вставить все данные или только некоторые?
2. только некоторые данные, где таблица 1 и таблица 2 имеют одинаковое значение в идентификаторе столбца
3. Тогда у вас уже есть данные в table2? Просто соединитесь с этой таблицей, выбрав в этом поле. Вы можете сначала выбрать, и когда это даст вам желаемое, вам нужно вставить, затем просто вставить.
Ответ №1:
Возможно, вам понадобится update
:
update table2 t2 join
table1 t1
on t1.name = t2.name
set t2.solId = t1.solId,
t2.openTime = t1.openTime,
t2.closingTime = t1.closingTime,
t2.guid = t1.guid;