Форум программистов, компьютерный форум, киберфорум
Наши страницы
MySQL
Войти
Регистрация
Восстановить пароль
 
Дима22081998
0 / 0 / 0
Регистрация: 11.04.2017
Сообщений: 16
1

Запрос с on duplicate key update

18.05.2019, 11:39. Просмотров 82. Ответов 2
Метки нет (Все метки)

Есть таблица с 18 полями, 1 поле соответственно уникальный идентификатор, остальные допустим обычные текстовые

Возможно ли использование следующего кода так, чтобы он звучал примерно так: "Вставить строку в таблицу со значениями, и если строка id = 5 уже есть, то обновить эту строку значениями из VALUES"
T-SQL
1
2
INSERT INTO table_name VALUES (5, /тут перечисление остальных 17-полей какими-то значениями/)
ON DUPLICATE KEY UPDATE
То есть может можно дописать после ON DUPLICATE KEY UPDATE какую-то команду, чтоб не переписывать все 17 полей и присваивать им значения?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2019, 11:39
Ответы с готовыми решениями:

ON DUPLICATE KEY UPDATE
Помогите пожалуйста, я пытаюсь сделать SQL запрос который вставляет запись в таблицу, но если есть...

Insert into в один столбец ON DUPLICATE KEY UPDATE
Eсть таблица product со столбцами idProduct, ProductName. idProduct (PK, NN, UQ, AI)....

on duplicate key error
Здравствуйте. Есть такой код с запросом if(!empty($_POST)) { $query = "INSERT INTO...

Duplicate entry '28' for key 'id_u'
Доброго времени суток! Столкнулся с проблемой, при добавлении вакансий пользователем на сайте. А...

Подскажите разницу On Duplicate KEY и REPLACE
Какова разница между этими записями? Они сильно замедляют работу сервера. REPLACE более медленный....

2
naHuka
21 / 16 / 5
Регистрация: 12.09.2013
Сообщений: 93
18.05.2019, 19:13 2
Дима22081998, а что, простите, должна делать эта команда?

Но мне кажется ответить на Ваш вопрос сможет вот эта ссылочка:

https://dev.mysql.com/doc/refman/8.0/en/insert.html
0
Дима22081998
0 / 0 / 0
Регистрация: 11.04.2017
Сообщений: 16
Сегодня, 15:36  [ТС] 3
naHuka, я бы хотел чтоб вместо такого кода:

T-SQL
1
2
3
4
5
6
7
INSERT INTO table_name VALUES (5, 'текст1', 'текст2', 'текст3', ....., 'текст17')
ON DUPLICATE KEY UPDATE
column1 = 'текст1',
column2 = 'текст2',
column3 = 'текст3',
.....
column17 = 'текст17';
написать примерно такой:
T-SQL
1
2
INSERT INTO table_name VALUES (5, 'текст1', 'текст2', 'текст3', ....., 'текст17')
ON DUPLICATE KEY UPDATE
то есть, чтоб не переписывать название полей и повторно соответствующие значения из VALUES, а чтоб имелось ввиду, что если поле id равное 5 (как на примере) существует, то обновить это строку значениями из VALUES

Суть в том, что я хотел сократить как нибудь команду UPDATE, и если с ON DUPLICATE KEY UPDATE ничего подобного нет, то лучше я думаю использовать именно UPDATE
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
Сегодня, 15:36

Составление запроса INSERT . ON DUPLICATE KEY
Для составления запрос используется вот такой код: $query = "INSERT INTO kattov (producer,...

#1062 - Duplicate entry '127' for key 1
Предистория: У меня есть небольшой сайт, где каждый может добавлять свою историю. Сегодня утром...

Дедлоки между update limit N и update по primary key
Добрый день! Столкнулся с дедлоками, хотелось бы послушать опытных товарищей как с этим быть. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru