mysql> insert into user_info(user_id) values(1),(2),(3);
ERROR 1064 (HY000): ChildTable multi insert not provided
产生错误的原因是由于mycat中不支持一次对子表插入多条记录。
拆成两条SQL语句插入即可。
mysql> insert into user_info(user_id) values(2);insert into user_info(user_id) values(3);
Query OK, 1 row affected (0.22 sec)
Query OK, 1 row affected (0.23 sec)
当使用mysqldump导出的sql向mycat中的ER表中的子表插入数据时,也会产生类似的错误。
因为默认mysqldump导出的语句默认是一次插入多条记录。
如果想让mysqldump导出的sql脚本能直接通过mycat插入到数据库中,建议使用以下参数:
mysqldump -uroot -p -h127.0.0.1 -P3316 -c -t --skip-add-drop-table --extended-insert=false sakila actor>actor_extend_insert_false.sql
这时导出的SQL是单条插入而且还包含完整的字段名,我们可以用它来直接向mycat中ER表的子表插入数据,而不用特殊处理。
INSERT INTO `actor` (`actor_id`, `first_name`, `last_name`, `last_update`) VALUES (186,'JULIA','ZELLWEGER','2006-02-15 12:34:33');
-c, --complete-insert 插入时指定列名
-t, --no-create-info 不导出创建表的信息。Don't write table creation info.
--add-drop-table 不添加删除表的信息
Add a DROP TABLE before each create.
(Defaults to on; use --skip-add-drop-table to disable.)
-e, --extended-insert Use multiple-row INSERT syntax that include several VALUES lists. (Defaults to on; use --skip-extended-insert to disable.)
ERROR 1064 (HY000): ChildTable multi insert not provided
产生错误的原因是由于mycat中不支持一次对子表插入多条记录。
拆成两条SQL语句插入即可。
mysql> insert into user_info(user_id) values(2);insert into user_info(user_id) values(3);
Query OK, 1 row affected (0.22 sec)
Query OK, 1 row affected (0.23 sec)
当使用mysqldump导出的sql向mycat中的ER表中的子表插入数据时,也会产生类似的错误。
因为默认mysqldump导出的语句默认是一次插入多条记录。
如果想让mysqldump导出的sql脚本能直接通过mycat插入到数据库中,建议使用以下参数:
mysqldump -uroot -p -h127.0.0.1 -P3316 -c -t --skip-add-drop-table --extended-insert=false sakila actor>actor_extend_insert_false.sql
这时导出的SQL是单条插入而且还包含完整的字段名,我们可以用它来直接向mycat中ER表的子表插入数据,而不用特殊处理。
INSERT INTO `actor` (`actor_id`, `first_name`, `last_name`, `last_update`) VALUES (186,'JULIA','ZELLWEGER','2006-02-15 12:34:33');
-c, --complete-insert 插入时指定列名
-t, --no-create-info 不导出创建表的信息。Don't write table creation info.
--add-drop-table 不添加删除表的信息
Add a DROP TABLE before each create.
(Defaults to on; use --skip-add-drop-table to disable.)
-e, --extended-insert Use multiple-row INSERT syntax that include several VALUES lists. (Defaults to on; use --skip-extended-insert to disable.)