将列内容从一个 table 复制到另一个 mysql
Copy column content from one table to another mysql
我正在尝试将 s_phone_mobile
列从 oc_t_user
table 填充到 mysql 数据库中的 oc_t_item
table。我使用以下查询:
INSERT INTO `oc_t_item` (s_phone_mobile)
SELECT s_phone_mobile
FROM oc_t_user;
但是我得到以下错误:
#1452 - Cannot add or update a child row: a foreign key constraint fails (`poljo_test`.`oc_t_item`, CONSTRAINT `oc_t_item_ibfk_2` FOREIGN KEY (`fk_i_category_id`) REFERENCES `oc_t_category` (`pk_i_id`))
我意识到这可能是重复的问题,但我尝试的每个 "trick" 都不适合我。
您的问题是由于您的插入只为 s_phone_mobile
指定了一个值,实际上为这个 table 包含的三个外键指定了 NULL
。
MySQL 中的外键约束将确保您的插入引用存在的外键,或者如果您将键定义为可为空,则可能允许 NULL
。我的猜测是至少以下键之一不可为空:
fk_i_user_id
fk_i_category_id
fk_c_currency_code
因此,要解决此问题,您还应该为上述三个键插入外键值,除非一个键允许 NULL
并且您可以接受。并确保指定的值实际上对应于各自父 tables.
中的记录
我正在尝试将 s_phone_mobile
列从 oc_t_user
table 填充到 mysql 数据库中的 oc_t_item
table。我使用以下查询:
INSERT INTO `oc_t_item` (s_phone_mobile)
SELECT s_phone_mobile
FROM oc_t_user;
但是我得到以下错误:
#1452 - Cannot add or update a child row: a foreign key constraint fails (`poljo_test`.`oc_t_item`, CONSTRAINT `oc_t_item_ibfk_2` FOREIGN KEY (`fk_i_category_id`) REFERENCES `oc_t_category` (`pk_i_id`))
我意识到这可能是重复的问题,但我尝试的每个 "trick" 都不适合我。
您的问题是由于您的插入只为 s_phone_mobile
指定了一个值,实际上为这个 table 包含的三个外键指定了 NULL
。
MySQL 中的外键约束将确保您的插入引用存在的外键,或者如果您将键定义为可为空,则可能允许 NULL
。我的猜测是至少以下键之一不可为空:
fk_i_user_id
fk_i_category_id
fk_c_currency_code
因此,要解决此问题,您还应该为上述三个键插入外键值,除非一个键允许 NULL
并且您可以接受。并确保指定的值实际上对应于各自父 tables.