@LebedevStr

Как осуществить такой update в базу SQL?

Здравствуйте. Есть такая структура:

ainc |id |price |dost |name |field1 |field2 |field3
1 |78 |232 |1 |qwer |jdfglh |value2 |rghtr
2 |26 |139 |0 |dfwq |hutrh |value2 |gr46g
3 |99 |656 |1 |efew |rhier |value2 |fgdfg
4 |85 |134 |1 |43fd |ergui |value2 |xzvfg
5 |59 |614 |0 |vcrw |hjfue |value2 |dgrhj

ainc - auto_increment
id - primary key

Наполяю базу таким запросом

INSERT INTO db (id,price,dost,name,field1,field2,field3) VALUES ('65','659', '1','qwery','dfsdd','rgers','zxcdf')
В связи с тем что у таблицы есть PRIMARY KEY, записи с НЕ уникальным полем ID в БД не попадают Duplicate entry - Error
Но можно ли обновить некоторые поля, если БД увидела дубль?

Идет запрос БД, SQL видет что запрос содержит дубль - тоесть ID уже есть в базе, и ОБНОВЛЯЕТ строку например по колонкам price и fild3 для дублирующей строки (ID).

Премного благодарен за помощь в решении задачи.
  • Вопрос задан
  • 145 просмотров
Пригласить эксперта
Ответы на вопрос 1
EreminD
@EreminD
Кое-что умею
insert into t1(a, b, c)
select d, e, f from t2
on duplicate key update b = e, c = f;


https://dev.mysql.com/doc/refman/5.7/en/insert-on-...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы