powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как обойтись без вложенных запросов?
8 сообщений из 8, страница 1 из 1
Как обойтись без вложенных запросов?
    #33409753
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такая проблема: есть таблица по владельцам. Есть таблица по вещам.
После обработки некоторых данных составляются запросы на вставку. Однако, в качестве внешнего ключа в таблице владельцев используется целочисленный автоинкрементный ключь. А из тех данных, из которых вставляются вещи можно взять тока имя. Еслиб в МуСКЛ моём были вложенные запросы, то я сделал бы так:
Код: plaintext
1.
2.
3.
4.
5.
6.
INSERT INTO arts(vladelec, nazvanie)
 VALUES(
(
SELECT id FROM users WHERE name LIKE "Mihail"
),
"Шмотка"
)
...
Рейтинг: 0 / 0
Как обойтись без вложенных запросов?
    #33409822
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sarin
Код: plaintext
1.
2.
3.
4.
5.
6.
INSERT INTO arts(vladelec, nazvanie)
 VALUES(
(
SELECT id FROM users WHERE name LIKE "Mihail"
),
"Шмотка"
)

вопрос не понятен...
в частности, причем тут вложенный запрос?

а процитированный запрос я бы написал так:
Код: plaintext
1.
INSERT INTO arts(vladelec, nazvanie)
SELECT id, "Шмотка" FROM users WHERE name LIKE "Mihail"
...
Рейтинг: 0 / 0
Как обойтись без вложенных запросов?
    #33409834
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну в общем направление такое. Но твой запрос не пашет.
Код: plaintext
1.
2.
mysql> insert into planet(vladelec) select id from planet where name Like "Sarin";
ERROR  1066 : Not unique table/alias: 'planet'
mysql>
...
Рейтинг: 0 / 0
Как обойтись без вложенных запросов?
    #33409840
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RTFMPrior to MySQL 4.0.14, the target table of the INSERT statement cannot appear in the FROM clause of the SELECT part of the query. This limitation is lifted in 4.0.14
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
Как обойтись без вложенных запросов?
    #33409964
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно какнибудь реализовать такое на 4.0.13?
...
Рейтинг: 0 / 0
Как обойтись без вложенных запросов?
    #33409965
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обновлением до 4.0.26?,)
...
Рейтинг: 0 / 0
Как обойтись без вложенных запросов?
    #33409969
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAlОбновлением до 4.0.26?,)
Тогда уж до пятой:)

Пожалуй так и сделаю.
...
Рейтинг: 0 / 0
Как обойтись без вложенных запросов?
    #33411293
black zorro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если за два шага через переменную
Код: plaintext
1.
2.
3.
4.
5.
SET @id_of_analog = LAST_INSERT_ID(); -- или же запрос на поиск по названию ключа
  
INSERT INTO  foo (bar, tar, var)
   VALUES (@id_of_analog, 'analog' , 'analog_1');

...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как обойтись без вложенных запросов?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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