一意のフィールドを持つ MySQL データベース: 終了スペースの無視
MySQL データベースを使用する場合、一意のフィールドが終了スペースを無視するという問題が発生する場合があります。 。これは、単語の左側または右側にさまざまな間隔で入力を保存する必要がある場合に発生する可能性がありますが、データベースは末尾の空白を自動的にトリミングします。
この問題は、MySQL のデフォルトの文字列処理に起因し、文字列の末尾の空白は無視されます。比較。この動作を理解するには、次の点を考慮してください。
<br>VARCHAR my_field UNIQUE NOT NULL;<br>
「apple」と「' を挿入した場合」 apple' (末尾にスペース) をこのフィールドに入力すると、MySQL は両方の値を同一のものとして扱うため、一意のチェックは失敗します。
考えられる解決策:
<br>ALTER TABLE my_table MODIFY my_field VARBINARY (255) UNIQUE;<br>
CREATE TABLE my_table (
my_field VARCHAR(255) UNIQUE COLLATE utf8mb4_0900_ai_ci
);
< ;/pre>
- カスタム照合順序 (非推奨):
NO PAD 属性を使用してカスタム照合順序を作成できますが、これは問題を引き起こす可能性があるため推奨されません。互換性の問題。結論:
MySQL のデフォルトの動作を理解し、適切なソリューションを実装することで、独自のフィールドが末尾のスペースを確実に処理できるようになります。
以上がMySQL の固有フィールド: 末尾のスペースを処理するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。