• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:text型とuniqueについて)

text型とuniqueについて

このQ&Aのポイント
  • mysqlでテーブル作成する際、l_urlのtext型のuniqueをどのように作成すれば良いかわかりません。
  • また、テーブル作成につまずくことが多いので、効果的な学習方法はありますか?
  • テーブル作成時にエラーが発生してしまい、BLOB/TEXT型のカラムでキーの仕様が指定されていませんというエラーメッセージを受け取りました。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

text型を使うのは、なるべく避けましょう。 長さの上限を予め決められるものは、varcharを使い、長さの上限は可能か限り短くしましょう。 text型は事前に長さの上限が決められないような場合に使いますが、物理的に複数のレコードに格納されたりするので、高い性能は出せません。また、text型を実装している多くのRDBMSでは、text型に対する操作に制限が設けれています。 >l_urlのtext型のuniqueは、どうやって作成したらいいのでしょうか? text型に格納するようなものに、unique制約をつけようとすること自体、設計に問題があるのですけどね。 >ERROR 1170 (42000): BLOB/TEXT column 'l_url' used in key specification without a key length エラーメッセージの通りです。 MySQLではtext型を実装していますが、当初は定義や操作に多くの制限がありました。どのバージョンだったか忘れましたが、制限が一部緩和され、unque指定で「制約の対象にする長さ」を指定することが可能になりました。

saekija
質問者

お礼

意見大変参考になりました。DBとはから勉強しなおします。ありがとうございました

関連するQ&A