skillup

技術ブログ

Database

MySQLの大文字、小文字問題について

投稿日:

MySQLでテーブルを作る際にカラムに重複を許さない制約(unique)を振ることがあると思います。

数字の場合は問題ないのですが、文字列の場合、なんと英語の大文字と小文字が区別されません。

つまりaaaというデータを入力していた場合、AAAがユニーク制約に引っかかってしまい、入力できないのです。

回避するためにはカラムにBinary属性を付与させてあげればOKです。

書き方は以下の通りです。

参考リンク

https://colo-ri.jp/develop/2011/04/mysql-unique-lower-upper-case-problem.html

-Database
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

DBUtils活用

普段はJavaEEで開発を行っているのでデータベースへのアクセスはJPAを活用しています。 ただ、JavaEE環境だとglassfish経由でデータベースを動かしているので、glassfishを動かさ …

no image

サブクエリ 移動平均など

前回の応用編です。 日付、入出金、残高はできましたが、ここからさらに、現在のレコードから3行以内(3行あれば3行、なければそれ以内でできるだけ)のレコードの合計値を出す計算を考えます。 結果だけ先に書 …

no image

HAVING句について NULL時の動き

HAVING句のNULLがあった時の挙動にたいしてメモリます。 COUNTの処理 対象上の列数を数えるのにCOUNTを使うと思いますが、COUNT(*)とCOUNT(列名)では動きが若干違っており、前 …

no image

MySQLでtext型が大量にあるもののリストア 

MySQLでのリストアについて。 先日実務でtext型のカラムが複数あるテーブルを読もうとしたら下記エラーがでてこけました。

なにやら …

no image

SQL結合 サブクエリに関して

今回はサブクエリに関してです。 もちろんSQL実践入門を読み進めています。 SQL上ではテーブル、ビュー、サブクエリというのは機能的にはそれほど変わらず主にパフォーマンスの点で違いがでてきます。 以下 …