Моя проблема такая же, как Why does MySQL autoincrement increase on failed inserts?, но вместо увеличения поля id
, я бы предпочел просто переписать запрос INSERT
, который вызывает у меня проблемы. Pretend У меня есть база данных с двумя полями, id
и username
, где id
является первичным ключом, а username
- уникальный ключ. Я в основном ищу синтаксис, который бы сделал INSERT...IF NOT EXISTS
. Прямо сейчас, яИзбегайте неудачных вставок, чтобы избежать ложного автоинкремента
INSERT INTO `table`(`username`)
VALUES ('foo')
ON DUPLICATE KEY UPDATE `id`=`id`
У меня есть только одна нить запись в базе данных, поэтому мне не нужно никакой защиты параллелизмом. Предложения?
почему возникает такая проблема с обновлением поля автоинкремента? – ManseUK
Потому что я хочу, чтобы не использовать «ХУЖЕЦ» для ключа. –