入力されているが「重複エントリー」について不平を言います。テーブルの作成自体は主キーを定義しません。あなたは、この表にデータをロードするためにこれを実行すると、今MySQLは独自のデータは、私はmysqlデータベースにこのテーブルを持っている
<addPrimaryKey tableName="wifi_network_config_auth_algorithm"
columnNames="wifi_network_config_id,auth_algorithm"
constraintName="pk_wifi_network_config_auth_algorithm"/>
:表の作成に続いて、次LiquiBaseをコマンドは、主キーとして2列の組み合わせを設定するために使用され
LOCK TABLES `wifi_network_config_auth_algorithm` WRITE;
INSERT INTO `wifi_network_config_auth_algorithm` VALUES
(1, 'OPEN'),
(1, 'SHARED'),
(2, 'SHARED'),
(2, 'LEAP');
UNLOCK TABLES;
ます取得:
ERROR 1062 (23000): Duplicate entry '1' for key 2
両方の列の組み合わせが主キーであるので、2つの列のデータの組み合わせはユニークでなければなりませんので - データ笙のために真であります上記のwn。なぜMySQLは不平を言っていますか?
また、値が「1」意味を成さない、2をキーに割り当てられていることを訴えています。私はINSERTを次のように変更しました:
INSERT INTO `wifi_network_config_auth_algorithm` (`wifi_network_config_id`, `auth_algorithm`)
しかし、それはmysqlから同じ苦情がありませんでした。
おかげで、これは私の作品 ハリ
あなたは「SHOWは、表wifi_network_config_auth_algorithmをCREATE」を実行することにより、期待通りにテーブルを作成し確認することができますか? – kbenson
このコマンドをお寄せいただきありがとうございます。それは原因を示した。テーブルを作成した後、私はwifi_network_config_idでインデックスを作成していて、それが一意であると言いました。 –
uniqe = falseに設定した後、正常に動作します。"wifi_network_config_id" int(11)NOT NULLのデフォルト '0'、 'auth_algorithm' varchar(50)NOT NULLのデフォルト ''、 PRIMARY KEY(' wifi_network_config_id'、 'auth_algorithm')、 UNIQUE KEY' index_wifi_network_config_id'( 'wifi_network_config_id')、FOREIGN KEY fk_wifi_network_config_auth_algorithm_wifi_network_config_id' CONSTRAINT'( 'wifi_network_config_id')REFERENCES' wifi_network_config'( 'id') –