Я хочу обновить запрос после выбора запроса.
первый запрос SELECT, SELECT * from be_settings order by seq desc limit 1
этот запрос выбора основан на seq, извлекает последнюю вставленную запись.
Я хочу обновить эту запись.
второй Update Query, UPDATE be_settings set appgubun ='CCTV', running ='on'
.
как обновить запрос после выбора запроса?
Благодарю.
Вы можете сделать это с помощью обновления с подзапросом:
UPDATE be_settings
SET appgubun = 'CCTV', running = 'on'
WHERE seq = (SELECT t.max_seq FROM (SELECT MAX(seq) AS max_seq FROM be_settings) t );
Подзапрос в WHERE
необходим, поскольку он включает таблицу be_settings
, которая является целью обновления. Ниже приведена ошибка:
WHERE seq = (SELECT MAX(seq) FROM be_settings)
Вам нужно сделать
UPDATE be_settings set appgubun ='CCTV', running ='on' where seq= '4'
Предполагая, что существует столбец seq
в be_settings
и это первичный ключ.
и 4 - последний вставленный идентификатор, который вы получаете от select query
.
если вы получаете этот seq в любой переменной на основе языка программирования, тогда вы должны использовать эту конкретную переменную.
Вы должны это сделать, если не хотите использовать подзапрос.
Unknown column 't.seq' in 'field list'
это сообщение.