В таблице БД, как обновить запрос после выбора запроса?

0

Я хочу обновить запрос после выбора запроса.

первый запрос SELECT, SELECT * from be_settings order by seq desc limit 1

этот запрос выбора основан на seq, извлекает последнюю вставленную запись.

Я хочу обновить эту запись.

второй Update Query, UPDATE be_settings set appgubun ='CCTV', running ='on'.

как обновить запрос после выбора запроса?

Благодарю.

Теги:

2 ответа

1
Лучший ответ

Вы можете сделать это с помощью обновления с подзапросом:

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)
  • 0
    спасибо, но Unknown column 't.seq' in 'field list' это сообщение.
  • 0
    @hyunwookcho Извините, я забыл псевдоним. Это должно работать сейчас.
Показать ещё 1 комментарий
0

Вам нужно сделать

UPDATE be_settings set appgubun ='CCTV', running ='on' where  seq= '4'

Предполагая, что существует столбец seq в be_settings и это первичный ключ.

и 4 - последний вставленный идентификатор, который вы получаете от select query.

если вы получаете этот seq в любой переменной на основе языка программирования, тогда вы должны использовать эту конкретную переменную.

Вы должны это сделать, если не хотите использовать подзапрос.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню