Двe sql команды за один запрос

12 3
11
На сайте с 21.07.2019
Offline
7
907

Здравствуйте, есть две sql команды, скажите пожалуйста как их можно объединить и выполнить одним запросом? Спасибо!

INSERT INTO dle_post (date, autor, short_story, full_story, xfields, title, descr, keywords, category, alt_name, allow_comm, approve, allow_main, fixed, allow_br, symbol, tags, metatitle) values ('2020-04-09 12:12:36', 'beget', '', '<p><span>*zdes polnaya novost*</span></p>', 'prod|*zdes tovary*||schema_telephone|+7telefon||schema_address|*zdes Schema.Org:*', '*zdes zagolovok*', '*zdes Description*', 'polnaya, novost', '11', 'zdes-new-chpu', '0', '1', '0', '0', '0', '', '', '*zdes Title*')


INSERT INTO dle_post_extras (news_id, allow_rate, votes, disable_index, access, user_id, disable_search, need_pass) VALUES('1322', '0', '0', '0', '', '19', '0', '0')
Aisamiery
На сайте с 12.04.2015
Offline
295
#1

Какую цель преследуете?

Два инсерта в разные таблицы не выполнить одним инсертом, по крайней мере я никогда не встречал и не интересовался.

А передать 2 запроса в БД одной командой можно поставив просто ; (точку с запятой) между ними.

например

$db->query("INSERT INTO one ... ; INSERT INTO two");

Если вы хотите чтобы выполнились или оба или не один, то для этого есть механизм транзакций.

Разработка проектов на Symfony, Laravel, 1C-Bitrix, UMI.CMS, OctoberCMS
S
На сайте с 30.09.2016
Offline
469
#2
Aisamiery:
А передать 2 запроса в БД одной командой можно

А ты уверен? А ты проверил? (С)

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
11
На сайте с 21.07.2019
Offline
7
#3
Aisamiery:
Какую цель преследуете?
Два инсерта в разные таблицы не выполнить одним инсертом, по крайней мере я никогда не встречал и не интересовался.

А передать 2 запроса в БД одной командой можно поставив просто ; (точку с запятой) между ними.

например


Если вы хотите чтобы выполнились или оба или не один, то для этого есть механизм транзакций.

Все работает, спасибо!

S
На сайте с 30.09.2016
Offline
469
#4
1man1:
Все работает, спасибо!

Только это не будет "одним запросом".

11
На сайте с 21.07.2019
Offline
7
#5
Sitealert:
Только это не будет "одним запросом".

я вставляю в одно окно и у меня выполняются два запроса.

S
На сайте с 30.09.2016
Offline
469
#6
1man1:
я вставляю в одно окно и у меня выполняются два запроса.

Именно. Два запроса.

O3
На сайте с 17.11.2008
Offline
127
#7
Sitealert:
Только это не будет "одним запросом".

Во зануда, работает-же!

IL
На сайте с 20.04.2007
Offline
435
#8
oleg3d:
Во зануда, работает-же!

В первом посте корректная формулировка примерно так звучит:

"Можно ли выполнить два запроса одним запросом" 😂

1man1:
я вставляю в одно окно

А это уже совсем про другое..

Aisamiery:
А передать 2 запроса в БД одной командой

Cмотря куда передать.. 😂

Что касается программного.. Если драйвер поддерживает соответствующую опцию (к примеру, "multy query" в mysqli https://www.php.net/manual/en/mysqli.multi-query.php или PDO), то так делать можно и непосредственно в PHP используя соответствующую функцию.. (раз уж мы в "веб-строительстве)

Ну, и учесть особенности в отлове ошибок.. и в выполнении запросов при появлении ошибки.

oleg3d:
Во зануда, работает-же!

Так радуйтесь )) Sitealert объясняет, где нестыковка..

- Машина не заводилась.. в движке проблема была..
- Так не в движке же.. в стартере..
- Да какая разница, едет же.. 😂

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
O3
На сайте с 17.11.2008
Offline
127
#9

во попустили за то что вписался за бедного крестианина

---------- Добавлено 11.04.2020 в 09:50 ----------

- Да какая разница, едет же.

..........

S
На сайте с 30.09.2016
Offline
469
#10
oleg3d:
работает-же!

Это смотря по тому, что и как должно работать. Как отметил ivan-lev, для мультизапроса предусмотрена специальная функция, а тот вариант, который написал Aisamiery, работать не должен. Метод query поддерживает только один запрос. Про какое-то "окно", в которое ТС что-то вставляет, я вообще не понял.

И вообще большой вопрос, нафига всё это нужно для ТС. Потому что использование мультизапроса – это песня с припевом и плавание среди подводных камней.

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий