【发布时间】:2021-09-18 17:09:18
【问题描述】:
我正在尝试在 MySQL Cluster 中创建一个表。但在执行以下查询时出错。
CREATE TABLE `tbl_anal_results` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`tbl_bill_bill_id` int(10) unsigned NOT NULL,
`item` varchar(256) NOT NULL,
`bill_value` decimal(10,2) NOT NULL,
`calc_value` decimal(10,2) NOT NULL,
`err` tinyint(1) NOT NULL,
`error_code` varchar(256) DEFAULT NULL,
`tbl_bill_info_id` int(10) unsigned DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `fk_tbl_anal_results_tbl_bill1_idx` (`tbl_bill_bill_id`),
CONSTRAINT `fk_tbl_anal_results_tbl_bill1` FOREIGN KEY (`tbl_bill_bill_id`) REFERENCES `tbl_bill` (`bill_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=ndbcluster AUTO_INCREMENT=16570225 DEFAULT CHARSET=latin1;
ERROR 1215 (HY000): 无法添加外键约束
我使用了与在旧 mysql 设置中创建相同表的相同查询。 我已将 ENGINE 更改为 ENGINE=ndbcluster 而不是 ENGINE=InnoDB
还注意到 UPDATE CASCADE 在 mysql 集群中不起作用。
【问题讨论】:
-
错误似乎很明显。
-
我已将 ENGINE 更改为 ENGINE=ndbcluster 而不是 ENGINE=InnoDB