私の問題は、失敗した挿入で 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 つだけなので、同時実行保護は必要ありません。提案?