понедельник, 16 января 2012 г.

MySQL: INSERT и SELECT в одном запросе

Иногда необходимо во время вставки в таблицу увеличить значение какого то поля, а auto_increment может быть не уместен, конечно ничего не мешает нам сделать 2 запроса, но зачем если можно обойтись одним:

Запрос выглядит так:
INSERT INTO `main_products`(position) SELECT MAX(position)+1 FROM main_products

А если нам нужно вставлять еще какие то значения, то можно сделать так
INSERT INTO `main_products`(position,product_sku) SELECT MAX(position)+1,'ля-ля-яя' FROM main_products"

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

Отправить комментарий