Это трудно точно определить, что вы пытаетесь сделать на основе вашего запроса, но это, кажется, что вы пытаетесь обновить некоторый набор строк в candidate_skill
таблицы, чтобы установить значение skill_id
к идентификатору данного skill
основы по имени.
Существует несколько способов сделать это. В любом примере вы должны указать правильное предложение where для оператора update
, чтобы определить, какие строки обновлены.
Один из способов заключается в использовании подзапрос:
update candidate_skill
set skill_id = (select id from skill where name = "name")
where ...;
Другим решением является использование определяемой пользователем переменной:
select id
into @skill_id
from skill
where name = "name";
update candidate_skill
set skill_id = @skill_id
where ...;
_is мой синтаксис правильный? _ - Попробуйте. – panther
в вашем запросе, 'skill_id = SELECT', но выберите что? – vivekpansara
Определенно это неверно. – Jens