Прямо сейчас у меня:
INSERT INTO mytable (a,b,c,d) VALUES(1,2,3,4)
ON DUPLICATE KEY UPDATE c=VALUES(c),d=VALUES(d)
, который работает, если a
или b
являются UNIQUE
ключами ...
Но теперь я хочу ОБНОВЛЯТЬ только тогда, когда другая строка с парой (a, б) не существует в таблице (иначе пропустите вставку).
Обычно (a, b)
должен быть УНИКАЛЬНЫМ , а не (a)
или ] (b)
, но оба соединены.
Например, эти строки будут действительными
ID (auto-inc) | a | b | c | d
0 | 5 | 1 | 343 |466
1 | 5 | 2 | 363 |466
2 | 5 | 3 | 343 |496
3 | 7 | 1 | 343 |496
Потому что там 5,1
, 5,2
, 5.3
, 7.1
и т. Д.
Но строку №2 здесь следует рассматривать как дубликат строки №1, поэтому строку №1 следует обновить:
ID (auto-inc) | a | b | c | d
0 | 5 | 1 | 343 |466
1 | 5 | 1 | 363 |466
2 | 5 | 3 | 343 |496
3 | 7 | 1 | 343 |496
Возможно ли это?