I次の2つの表があります。MySQLがテーブルを作成することはできません(エラー番号:150)
alter table `factorydb`.`table2` add constraint `FK_table2` FOREIGN KEY (`TABLE1_CODE`) REFERENCES `table1` (`CODE`)
:
CREATE TABLE `table1` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`CODE` varchar(30) COLLATE utf8_bin NOT NULL,
`LANG` varbinary(30) NOT NULL,
`NAME` varchar(255) COLLATE utf8_bin NOT NULL,
PRIMARY KEY (`ID`),
KEY `NewIndex1` (`CODE`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 COLLATE=utf8_bin
と
CREATE TABLE `table2` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`TABLE1_CODE` varchar(30) NOT NULL,
`SOME_ADD` varchar(30) DEFAULT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8
とは、私はとの参照を作成しようとしています
エラーが発生します:
Can't create table 'factorydb.#sql-70c_306' (errno: 150)
アイデアは私が
ID | CODE | LANG | NAME
1 CARCODE EN Car
2 CARCODE DE Auto
としてTABLE1にいくつかの値を持つことになりますように、私のテーブルの言語エントリに対処するためであると私は用としてTABLE1にCODEへの参照を作りたいです私は両方のCARCODE値が有効で、言語設定によってのみ有効です。
私は間違っていますか?
すべてのご協力をいただきありがとうございます。