• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ForeignKeyの作成方法について)

ForeignKeyの作成方法について

このQ&Aのポイント
  • MySQLでForeign Keyを作成する方法について解説します。
  • テーブル作成時にForeign Keyを設定する際に注意すべき点として、参照先のテーブルやカラムの存在が必要です。
  • また、エラーメッセージによると、エラーコード150が発生していることがわかります。このエラーコードは、外部キー制約に違反していることを示しています。

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

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

こんばんは。 情報が少ないです・・・。 m_CompanyはInnoDB? CompanyIDの型(m_Companyの)は? ここ見てください・・・。 http://dev.mysql.com/doc/refman/4.1/ja/innodb-foreign-key-constraints.html

yamachan_tomo
質問者

補足

takaさん、ご返事ありがとうございます。 自己解決しました。 自分もtakaさんが教えてくれたページを見て、解決できました。 参照元のCompanyIDと参照先のCompanyIDで型の互換が取れていないのが問題でした。 一方では、参照キーにunsignedを設定してたんです。 マイナスの値はつかないし、いいかなーーって思ってたんです。 でも、もう一方にはつけてませんでした。 参照元と参照先のunsignedを省いたところ、うまくクエリを投げる事に成功しました。 ありがとうございます。 Corresponding columns in the foreign key and the referenced key must have similar internal data types inside InnoDB so that they can be compared without a type conversion. The size and sign of integer types must be the same. The length of string types need not be the same. For nonbinary (character) string columns, the character set and collation must be the same.

関連するQ&A