私の問題は、失敗した挿入で MySQL 自動インクリメントが増加するのはなぜですか? id、しかし、フィールドを増やす代わりに、INSERT問題を引き起こしているクエリを書き直すことをお勧めします。と の 2 つのフィールドを持つデータベースがあるとしますid。usernameここidで、 は主キーで、usernameは一意のキーです。私は本質的にそれを行う構文を探していますINSERT...IF NOT EXISTS。今、私はそうします
INSERT INTO `table`(`username`)
VALUES ('foo')
ON DUPLICATE KEY UPDATE `id`=`id`
データベースに書き込むスレッドは 1 つだけなので、同時実行保護は必要ありません。提案?