sql >> データベース >  >> RDS >> Mysql

MySQL:varchar(255)UNIQUE列をUNIQUEテキストNOT NULLに変更する方法は?

    UNIQUE KEYの一部としてTEXT列を使用しますか?それは非常に非効率的です!そうしないでください!次のことを強くお勧めします:

    • たとえば'description_hash' char(32) not null default ''という名前の列を追加します
    • descriptionのハッシュ値を保存します それにフィールド。例: description_hash=MD5(description)
    • キーをUNIQUE KEY (name, description_hash)に変更します

    もちろん、description_hashを保持する必要があります 列はコード内で最新ですが、参照してください-ほとんどの場合、必要なコードの変更はわずかです。または、トリガーを使用してこれを処理できます。



    1. HTMLエコー内の変数で二重引用符をエスケープする

    2. ルックアップとグループバイで参加

    3. RailsとPostgres:change_colomnに移行すると、タイムゾーンなしでタイムスタンプを入力するためにエラーをキャストできません

    4. レコードが存在するかどうかを確認するクエリを挿入します-存在しない場合は挿入します