MySQL の固有フィールド: 末尾のスペースを処理するには?

Patricia Arquette
リリース: 2024-10-30 02:40:03
オリジナル
467 人が閲覧しました

  MySQL Unique Fields: How to Handle Trailing Spaces?

一意のフィールドを持つ MySQL データベース: 終了スペースの無視

MySQL データベースを使用する場合、一意のフィールドが終了スペースを無視するという問題が発生する場合があります。 。これは、単語の左側または右側にさまざまな間隔で入力を保存する必要がある場合に発生する可能性がありますが、データベースは末尾の空白を自動的にトリミングします。

この問題は、MySQL のデフォルトの文字列処理に起因し、文字列の末尾の空白は無視されます。比較。この動作を理解するには、次の点を考慮してください。

<br>VARCHAR my_field UNIQUE NOT NULL;<br>

「apple」と「' を挿入した場合」 apple' (末尾にスペース) をこのフィールドに入力すると、MySQL は両方の値を同一のものとして扱うため、一意のチェックは失敗します。

考えられる解決策:

  1. 値を VARBINARY として保存:
    入力を VARBINARY に変換して、末尾のスペースを含む正確なバイト パターンを保持します。

<br>ALTER TABLE my_table MODIFY my_field VARBINARY (255) UNIQUE;<br>

  1. NO PAD 照合を使用する (MySQL 8.0 ):
    MySQL 8.0 以降は NO PAD を使用した照合をサポートします。


CREATE TABLE my_table (
my_field VARCHAR(255) UNIQUE COLLATE utf8mb4_0900_ai_ci
);
< ;/pre>

  1. カスタム照合順序 (非推奨):
    NO PAD 属性を使用してカスタム照合順序を作成できますが、これは問題を引き起こす可能性があるため推奨されません。互換性の問題。

結論:

MySQL のデフォルトの動作を理解し、適切なソリューションを実装することで、独自のフィールドが末尾のスペースを確実に処理できるようになります。

以上がMySQL の固有フィールド: 末尾のスペースを処理するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート