MySQLデータベースに多数のMyISAMテーブルがあるとしましょう。私のテーブルがInnoDBの場合、MySQLWorkbenchはテーブル間の関係を自動的に取得することを知っています。しかし、テーブルがMyISAMの場合、MySQL Workbenchがテーブルスキーマに列を追加せずに、MySQL Workbenchで外部キーとして使用する列を選択する方法はありますか?たとえば、次のようなテーブルにこれらの列があるとしますusers
。
id PRIMARY KEY
username VARCHAR (255)
password VARCHAR (255)
email VARCHAR (255)
user_type_id INT
上で見ることができるように、user_type_id
と呼ばれるテーブルから来る外部キーになりますuser_types
。users
テーブルとMySQLWorkbenchで多対1の関係を追加すると、テーブルのスキーマにuser_types
列user_types_id
が自動的に追加されますusers
(これは、MySQL Workbenchが通常外部キーと見なすためです)。それが起こらないようにしたいのですが、MySQLWorkbenchに列user_type_id
を外部キーとして使用するように指示できるようにしたいのです。どうすればそれができますか?
ありがとうございました
注: MySQL Workbenchのモデルビューでテーブルをダブルクリックすると、[外部キー]タブが表示されますが、そうすると、次のテキストが表示されます。
注:外部キーは、特定のストレージエンジン(InnoDBなど)に対してのみ定義できます。サーバーは他のストレージエンジンの外部キー定義を受け入れますが、それらを黙って無視します。テーブルエンジンを外部キーをサポートするものに切り替えて、ここで調整できるようにします。