powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / INSERT > INSERT > SELECT Одним запросом
8 сообщений из 8, страница 1 из 1
INSERT > INSERT > SELECT Одним запросом
    #39239663
nauseous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите как собрать в один запрос:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SET @value := "bla bla bla";

INSERT INTO table1
SET
	value = @value
ON DUPLICATE KEY UPDATE
	value = VALUES(value);

INSERT INTO table2 (id) 
SELECT id
FROM table1
WHERE value = @value;


Спасибо!
...
Рейтинг: 0 / 0
INSERT > INSERT > SELECT Одним запросом
    #39239675
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никак. Да и нафига это надо?
...
Рейтинг: 0 / 0
INSERT > INSERT > SELECT Одним запросом
    #39239736
nauseous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaНикак. Да и нафига это надо?Один - Два запроса... Один наверное лучше с точки зрения нагрузки, так?
...
Рейтинг: 0 / 0
INSERT > INSERT > SELECT Одним запросом
    #39239754
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nauseousОдин наверное лучше с точки зрения нагрузки, так?В общем случае нет.
А вот послать серверу два запроса одним пакетом - может быть и разумно. Если коннектор умеет... ну или оформить эту хрень как процедуру.
...
Рейтинг: 0 / 0
INSERT > INSERT > SELECT Одним запросом
    #39239785
nauseous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinanauseousОдин наверное лучше с точки зрения нагрузки, так?В общем случае нет.
А вот послать серверу два запроса одним пакетом - может быть и разумно. Если коннектор умеет... ну или оформить эту хрень как процедуру.эта хрень и есть кусок процедуры )) которая уже давно на глаза попадается, иначе нельзя, а костыли я не люблю ((
Спасибо! Буду думать....
...
Рейтинг: 0 / 0
INSERT > INSERT > SELECT Одним запросом
    #39239808
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно попробовать так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SET @value := "bla bla bla";

INSERT INTO table1
SET
	value = @value
ON DUPLICATE KEY UPDATE
	value = VALUES(value);

INSERT INTO table2 (id) 
SELECT LAST_INSERT_ID();
...
Рейтинг: 0 / 0
INSERT > INSERT > SELECT Одним запросом
    #39239815
nauseous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,

ON DUPLICATE KEY UPDATE
не факт что при втором запросе LAST_INSERT_ID() что-то вернет
...
Рейтинг: 0 / 0
INSERT > INSERT > SELECT Одним запросом
    #39239824
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nauseousmiksoft,

ON DUPLICATE KEY UPDATE
не факт что при втором запросе LAST_INSERT_ID() что-то вернетСам не пробовал, однако в доке написано:
http://dev.mysql.com/doc/refman/5.7/en/insert-on-duplicate.html f a table contains an AUTO_INCREMENT column and INSERT ... ON DUPLICATE KEY UPDATE inserts or updates a row, the LAST_INSERT_ID() function returns the AUTO_INCREMENT value.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / INSERT > INSERT > SELECT Одним запросом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]