この質問が頻繁に投稿されていることは知っています。コードを注意深くチェックしましたが、Foreign Key を使用してテーブルを作成すると、mysql でエラーが発生する理由が見つかりませんでした。
mysql> CREATE TABLE Act_Model(
-> code VARCHAR(8) NOT NULL,
-> model VARCHAR(64) NOT NULL,
-> PRIMARY KEY (code))ENGINE = INNODB;
Query OK, 0 rows affected (0.09 sec)
mysql> CREATE TABLE IBT_ActItem(
-> model VARCHAR(64) NOT NULL,
-> flagbit BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
-> PRIMARY KEY(model),
-> FOREIGN KEY( model) REFERENCES Act_Model(model))ENGINE = INNODB;
ERROR 1005 (HY000): Can't create table 'test.ibt_actitem' (errno: 150)
mysql> CREATE TABLE IBT_ActItem(
-> model VARCHAR(64) NOT NULL,
-> flagbit BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
-> PRIMARY KEY(model))ENGINE = INNODB;
Query OK, 0 rows affected (0.09 sec)
を使用したときshow engins;
、 InnoDB の場合、次のようになりました。
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
私の間違いがどこにあるかを見つけるのを手伝ってもらえますか? ありがとう