Прямо сейчас у меня есть:
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, b) (в противном случае пропустите вставку).
В основном (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
Возможно ли это?