Запрос для проверки максимального идентификатора и обновления другого поля с максимальным идентификатором и годом

#php #mysql

#php #mysql

Вопрос:

У меня есть сценарий, в котором при обновлении записи запрос должен обновлять max(id_inc) 1 из таблицы ‘Process’. Затем необходимо обновить другое поле inv_id_inc в той же таблице ‘Process’ с помощью простой функции concat (ВЫБЕРИТЕ CONCAT(max(inv_id) , ‘/’, 16). То есть он должен обновляться как 1/16, затем 2/16, затем 3/16 и т.д. 16 — это краткая форма текущего года. Я не уверен, смогу ли я достичь этого одним запросом. В настоящее время я пробовал с 2 запросами. Первый запрос обновляет max(id_inc) 1, а второй запрос объединяет CONCAT(max(inv_id) , ‘/’, 16 . Я не уверен, правильно ли я делаю.

 ================================
tender_id | id_inc | inv_id_inc
================================
  200     |   1    |   1/16
  300     |   2    |   2/16
 

Мой первый запрос приведен ниже:.

 update process
set  inv_id=
SELECT MAX( inv_id )   1 FROM process where tender_id=200;
 

Мой второй запрос ниже:

 update process t
join (SELECT CONCAT(max(inv_id) , '/', 16) as inv_id_inc
    from process ) t1
set t.inv_id_inc=t1.inv_id_inc WHERE tender_id='200'";
 

Он не обновляется. Кто-нибудь может предложить мне решение, пожалуйста.?

Теперь он работает. Я изменил 2 запроса. Обновленные запросы приведены ниже:

ПЕРВЫЙ ЗАПРОС:

 UPDATE process set inv_id = ((SELECT inv_id FROM (SELECT MAX(inv_id) AS inv_id FROM process) 
AS inv_id_new)   1) WHERE tender_id='200'
 

ВТОРОЙ ЗАПРОС:

 update process t
join (SELECT CONCAT(max(inv_id), '/', 16) as inv_id_inc
    from process ) t1
set t.inv_id_inc=t1.inv_id_inc WHERE tender_id='200'
 

Есть ли лучшее решение?

Комментарии:

1. Используете ли вы PHP где-нибудь?

2. это php-приложение. Я просто пытаюсь сделать запрос.

3. Я думаю, мой вопрос не совсем ясен. 🙂

4. Кто-нибудь может мне помочь в этом?

5. возможно, вам следует описать, чего вы пытаетесь достичь! У меня такое чувство, что вы используете плохую технику или неправильную терминологию. когда я обновляю запись , обновляю или вставляю? и все это звучит для меня как операция запуска таблицы!