有効な 0 値に対する MySQL の自動インクリメント制限のオーバーライド
データベース アプリケーションでは、匿名ユーザーは一般に「userid」で表されます。ただし、自動データベース インポート用の SQL スクリプト ファイルを作成する場合、MySQL は 0 を無効な自動インクリメント値として解釈するため、問題が発生します。
この問題に対処するために、MySQL は、 SQL スクリプトまたはアプリケーション自体の変更。グローバルまたはセッション SQL モードを調整することで、ゼロ以外の自動インクリメント値の制限を無視するように MySQL に指示できます。
これを実現するコマンドは次のとおりです。
SET [GLOBAL|SESSION] sql_mode='NO_AUTO_VALUE_ON_ZERO'
Withこの設定を有効にすると、MySQL は 0 の INSERT または UPDATE ID を次のシーケンス ID として解釈しなくなり、代わりに有効な NULL 値として扱います。
ただし、この動作は不整合を引き起こす可能性があることに注意することが重要です。アプリケーションが匿名ユーザーに対して 0 を一貫して使用することに依存している場合。後日のレプリケーションでも問題が発生する可能性があります。
そのため、このソリューションを実装する前に、潜在的な結果とアプリケーションの設計原則と一致するかどうかを慎重に検討する必要があります。
以上がMySQL の有効な 0 値に対する自動インクリメント制限を克服するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。