projectphp1707. #sql-e6c_cd, CONSTRAINT #sql-e6c_cd_ibfk_1FOREIGN KEY ( order_id) REFERENCES tbl_order( order_id))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;
Run Code Online (Sandbox Code Playgroud)
这以以下两种方式之一发生:
1- 您正在尝试向子表添加记录,并且您使用了父表主键中不存在的外键值。
在这种情况下,请仔细检查该值是否存在于父表中。也许您正在输入父记录和子记录,但未能添加父记录。在这种情况下,您必须停止而不是忽略错误并继续添加子项。
2-您的表没有参照完整性,就像ON DELETE CASCADE您从父表中删除了一条记录,然后您尝试更新子表中的记录,该子表的外键引用了父表中的删除记录。
在这种情况下,您可能希望删除子项而不是更新它们。考虑向您的表添加参照完整性。
| 归档时间: |
|
| 查看次数: |
15604 次 |
| 最近记录: |