【发布时间】:2018-06-17 00:57:08
【问题描述】:
1452 - 无法添加或更新子行:外键约束失败 (projectphp1707.#sql-e6c_cd, CONSTRAINT #sql-e6c_cd_ibfk_1 FOREIGN KEY (order_id) REFERENCES tbl_order (order_id)) H1>
CREATE TABLE `tbl_order` (
`order_id` int(11) NOT NULL,
`user_id` int(11) DEFAULT NULL,
`cus_fullname` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
`total_price` double DEFAULT NULL,
`active` tinyint(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
CREATE TABLE `tbl_payment` (
`pay_id` int(50) NOT NULL,
`pro_id` int(15) NOT NULL,
`pay_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`pay_email` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`pay_adress` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`pay_cardname` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`pay_cvc` int(3) NOT NULL,
`pay_number` text COLLATE utf32_unicode_ci NOT NULL,
`pay_mm` int(2) NOT NULL,
`pay_yyyy` int(4) NOT NULL,
`pay_totals` varchar(255) COLLATE utf32_unicode_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf32 COLLATE=utf32_unicode_ci;
【问题讨论】:
-
我通常会看到此错误,因为有一个子行引用了不再存在的父行。但鉴于您的问题缺乏数据,我们无法确定。
-
能否包含您尝试执行的操作?不清楚这不是预期的行为,例如,如果您尝试在表 1 中插入一行,而表 2 中没有具有相应 order_id 的预先存在的行。
标签: mysql