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

dandandan

Мой дом здесь!
Регистрация
7 Авг 2008
Сообщения
1.036
Реакции
292
Есть вот такой велосипед:
INSERT INTO node SELECT * FROM node WHERE ...
С помощью него можно создать копию строк в базе без указания копируемых колонок. Одна из колонок содержит уникальный автоинкриментируемый индекс. Можно ли как-то модифицировать данный запрос, чтобы он работал с уникальными индексами без указания всех копируемых колонок?
 
Идея интересная, но не хотелось бы использовать INFORMATION_SHEMA
Попробую по-другом поставить вопрос. Если я знаю название колонки, которая не нужна, например id, может быть тоже можно сделать будет запрос? Нужен именно один mysql запрос.
 
Для просмотра ссылки Войди или Зарегистрируйся

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

p.s. Сейчас сделал двумя запросами.
 
Можно написать хранимую процедуру и вызывать ее одним запросом.:)
А так, если таблица динамически меняет состав колонок, то либо вы каждый раз пишите один селект под конкретные колонки, либо строите динамически на основе собранных данных о таблице. По другому наврятли.
 
Назад
Сверху