[Pandora-jp] 14.sqlはOK、15.sqlで引っかかりました
ribbon
ppp15478 @ ribbon.or.jp
2018年 12月 5日 (水) 19:54:33 JST
>
> 先に結論からいいますと、14.sql 最後の以下の行はスキップしてしまって
> 構いません。(実行しなくて良いです)
>
> =====
> PREPARE pr_oum721 FROM @st_oum721;
> EXECUTE pr_oum721;
> DEALLOCATE PREPARE pr_oum721;
ということで、14.sql を手直しして実行。エラーなく終わりました。
次に15.sqlを実行しましたが、これがエラー。
# cat 15.sql | mysql -u root -p pandora
Enter password:
ERROR 1091 (42000) at line 3: Can't DROP 'tcluster_ibfk_1'; check that column/key exists
ソースは以下の通り。
---------------------------------------------------------------------
START TRANSACTION;
ALTER TABLE tcluster DROP FOREIGN KEY tcluster_ibfk_1;
ALTER TABLE tcluster_agent DROP FOREIGN KEY tcluster_agent_ibfk_1;
ALTER TABLE tcluster_agent DROP FOREIGN KEY tcluster_agent_ibfk_2;
COMMIT;
---------------------------------------------------------------------
調べてみると、
> show create table tcluster;
(略)
| tcluster | CREATE TABLE `tcluster` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` tinytext NOT NULL,
`cluster_type` enum('AA','AP') NOT NULL DEFAULT 'AA',
`description` text NOT NULL,
`group` int(10) unsigned NOT NULL DEFAULT '0',
`id_agent` int(10) unsigned NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
なので、元々外部キーが設定されていないように見えます。
が、
show create table tcluster_agent;
は、
| tcluster_agent | CREATE TABLE `tcluster_agent` (
`id_cluster` int(10) unsigned NOT NULL,
`id_agent` int(10) unsigned NOT NULL,
PRIMARY KEY (`id_cluster`,`id_agent`),
CONSTRAINT `tcluster_agent_ibfk_1` FOREIGN KEY (`id_cluster`) REFERENCES `tcluster` (`id`) ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8
なので、tcluster_agent_ibfk_1 については、外部キーが設定してありますね。
ということで、その部分だけ実行して先に進むことにしてみます。
ribbon
Pandora-jp メーリングリストの案内