SQLite での「ON DUPLICATE KEY UPDATE」の実装
MySQL の「ON DUPLICATE KEY UPDATE」機能を使用すると、単一のクエリを使用して、一意のキー制約の存在に基づいて行を挿入または更新できます。 SQLite では、この機能はネイティブでは利用できません。
「UPSERT」操作を実装する別の方法
SQLite で同じ効果を実現するには、主に 2 つの方法があります:
推奨方法
推奨される方法は、特定の使用例によって異なります。キー列に一意制約を適用する場合は、次のクエリを使用できます:
<code class="language-sql">INSERT OR IGNORE INTO visits VALUES ($ip, 0); UPDATE visits SET hits = hits + 1 WHERE ip LIKE $ip;</code>
この組み合わせにより、操作が単一のアトミック操作として実行され、データの整合性が維持されます。
別の解決策
検討に値する別の効果的なソリューションは、次の場所にあります: https://www.php.cn/link/21648c94be6e9adf691ebc249fa6689c
以上がSQLite で MySQL の ON DUPLICATE KEY UPDATE をシミュレートする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。