powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Вложенный подзапрос INSERT с SELECT в одном из значений
17 сообщений из 17, страница 1 из 1
Вложенный подзапрос INSERT с SELECT в одном из значений
    #38538915
gorgeous92
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!
Встала задача, решение ищу уже второй день, может поможет кто, итак...
INSERT INTO table (name, id) VALUES ('Имя', 3)

как мне построить запрос так, что бы в поле id попадало максимальное значение из столбца, и ещё прибавлялось +1.
По логике вещей, должно быть что то типа

INSERT INTO table (name, id) VALUES ('Имя', (SELECT MAX(id) FROM table) )

Но я где то явно косячу, как правильно ?
и как прибавить ещё +1 к максимальному значению столбца
...
Рейтинг: 0 / 0
Вложенный подзапрос INSERT с SELECT в одном из значений
    #38538917
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gorgeous92,

auto_increment?
...
Рейтинг: 0 / 0
Вложенный подзапрос INSERT с SELECT в одном из значений
    #38538932
gorgeous92
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir,

АвтоИнкремент уже присутствует в этой таблице.
Это поля, является полем сортировки, и в него нужно вставлять значение, на +1 больше, из максимального текущего.
...
Рейтинг: 0 / 0
Вложенный подзапрос INSERT с SELECT в одном из значений
    #38538934
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gorgeous92и в него нужно вставлять значение, на +1 больше, из максимального текущего.именно этим и занимается автоинкремент :)
...
Рейтинг: 0 / 0
Вложенный подзапрос INSERT с SELECT в одном из значений
    #38538948
gorgeous92
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir,

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

И как это сделать подзапросом я уже голову сломал ...
...
Рейтинг: 0 / 0
Вложенный подзапрос INSERT с SELECT в одном из значений
    #38538957
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gorgeous92, дубовый способ:
Код: sql
1.
INSERT INTO table (name, id4sort) VALUES ('Имя', (SELECT MAX(id)+1 FROM table where idcategory=###) )

и сразу морально готовьтесь к появлению дублей при сортировке
...
Рейтинг: 0 / 0
Вложенный подзапрос INSERT с SELECT в одном из значений
    #38538960
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gorgeous92Но, в этой таблице записи, относятся ко многим категориямТак показывайте структуру таблицы полностью, желательно в виде DDL.
...
Рейтинг: 0 / 0
Вложенный подзапрос INSERT с SELECT в одном из значений
    #38538980
gorgeous92
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir,

Уже так пробовал и при выполнении этого запроса

INSERT INTO cat (name_c, sort_c) VALUES ('Имя', (SELECT MAX(sort_c)+1 FROM cat where id_razd_c = 3) )

имеем ошибку
#1093 - You can't specify target table 'cat' for update in FROM clause

id_c - "уникальный идентификатор"
name_c - "название записи"
sort_c- "сортировка записей"
id_razd_c - "id раздела, к которому принадлежит запись"
...
Рейтинг: 0 / 0
Вложенный подзапрос INSERT с SELECT в одном из значений
    #38539005
gorgeous92
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglirgorgeous92, дубовый способ:
Код: sql
1.
INSERT INTO table (name, id4sort) VALUES ('Имя', (SELECT MAX(id)+1 FROM table where idcategory=###) )

и сразу морально готовьтесь к появлению дублей при сортировке

А почему Дубовый та? Что в нём не верно ?

Вот нашел описание схожей проблемы только при UPDATE
Походу принцип возникновения ошибки такой же. Не поможете составить запрос?
...
Рейтинг: 0 / 0
Вложенный подзапрос INSERT с SELECT в одном из значений
    #38539019
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gorgeous92,
Код: sql
1.
INSERT INTO table (name, id) VALUES ('Имя', (SELECT MAX(id) FROM table) + 1 )
...
Рейтинг: 0 / 0
Вложенный подзапрос INSERT с SELECT в одном из значений
    #38539031
gorgeous92
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivgorgeous92,
Код: sql
1.
INSERT INTO table (name, id) VALUES ('Имя', (SELECT MAX(id) FROM table) + 1 )



При выполнении
Код: sql
1.
INSERT INTO cat (name_c, sort_c) VALUES ('Имя', (SELECT MAX(sort_c) FROM cat) + 1 )



та же ошибка
#1093 - You can't specify target table 'cat' for update in FROM clause
...
Рейтинг: 0 / 0
Вложенный подзапрос INSERT с SELECT в одном из значений
    #38539896
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ага, есть такое
можно так обойти:
Код: sql
1.
INSERT INTO cat (name_c, sort_c) select 'Имя', MAX(sort_c)+1 FROM cat 
...
Рейтинг: 0 / 0
Вложенный подзапрос INSERT с SELECT в одном из значений
    #38539924
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gorgeous92По логике вещей, должно быть что то типа

INSERT INTO table (name, id) VALUES ('Имя', (SELECT MAX(id) FROM table) )

Но я где то явно косячу, как правильно ?
и как прибавить ещё +1 к максимальному значению столбца

По логике вещей должно быть что-то типа

Код: sql
1.
INSERT INTO table (name, id) VALUES ('Имя',  MAX(id)+1); 
...
Рейтинг: 0 / 0
Вложенный подзапрос INSERT с SELECT в одном из значений
    #38539929
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
deblogger,

валуес - отдельная клауза
как, по-вашему, сервер должен догадаться, что ид в валуес - это ид из той таблицы, куда он должен вставлять записи?
...
Рейтинг: 0 / 0
Вложенный подзапрос INSERT с SELECT в одном из значений
    #38540148
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglir,

Не в таблице дело. Имя таблицы добавляется к имени поля, но по голым идентификаторам группировка не пашет.

То есть values не нужны вообще. Применяется типовой insert into ... select.
...
Рейтинг: 0 / 0
Вложенный подзапрос INSERT с SELECT в одном из значений
    #38540190
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
debloggerТо есть values не нужны вообще. Применяется типовой insert into ... select.который я и написал в предыдущем посте :)
...
Рейтинг: 0 / 0
Вложенный подзапрос INSERT с SELECT в одном из значений
    #38540612
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglir,

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


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