powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / INSERT ... SELECT ... ON DUPLICATE KEY UPDATE
5 сообщений из 5, страница 1 из 1
INSERT ... SELECT ... ON DUPLICATE KEY UPDATE
    #38380844
ugodrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
5.
6.
INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]
    [INTO] tbl_name [(col_name,...)]
    SELECT ...
    [ ON DUPLICATE KEY UPDATE
      col_name=expr
        [, col_name=expr] ... ]


конструкция всем знакома )

два вопроса
1: можно ли привязать значения из селекта к контексту ON DUPLICATE KEY (например inserttable.colname = selecttable.colname)
2: если ответ на первый вопрос положителен... то как привязать по тому же принципу поля без таблицы (например SELECT 1 as col1, 2 as col2, 3 as col3 ,"abc" as col4 )

просто появилась потребность а на эксперименты времени не хватает )
...
Рейтинг: 0 / 0
INSERT ... SELECT ... ON DUPLICATE KEY UPDATE
    #38380916
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ugodrus,
1)в ртфм е ищете строку "You can use the VALUES(col_name)" и читаете.
2)вопрос непонятен, точнее, непонятно, что может быть непонятно после вкуривания ответа на первый вопрос :)
...
Рейтинг: 0 / 0
INSERT ... SELECT ... ON DUPLICATE KEY UPDATE
    #38381002
ugodrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir, спасибо... в принцип вьехал

тогда в догонку ещё одна фишка.
порой эта конструкция влияет на autoincrement
например таблица t1:
id int(11) US NN PK AI
name char(50) NN UK
summa int(11) NN;

при запросе
INSERT INTO t1 (`name`,`course`)
SELECT "some_name" , 1
ON DUPLICATE KEY UPDATE
course = values(`course`);

время от времени увеличивает автоинкремент .. по крайней мере при совпадении name c name при id =1
хотя может быть с ключами что-то намудрил
...
Рейтинг: 0 / 0
INSERT ... SELECT ... ON DUPLICATE KEY UPDATE
    #38381010
ugodrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пардон ... запрос некорректно вставил

INSERT INTO t1 (`name`,`summa`)
SELECT "some_name" , 1
ON DUPLICATE KEY UPDATE
summa = values(`summa`);
...
Рейтинг: 0 / 0
INSERT ... SELECT ... ON DUPLICATE KEY UPDATE
    #38381012
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ugodrusвремя от времени увеличивает автоинкрементЧто, ON DUPLICATE KEY срабатывает на дублирование автоинкрементного ключевого поля? не верю...
В любом (АБСОЛЮТНО любом) другом случае - всё нормально.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / INSERT ... SELECT ... ON DUPLICATE KEY UPDATE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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