繁体   English   中英

MySQL导出导入,ID为auto_increment,用于外键

[英]MySQL Export Import with ID auto_increment for Foreign Key

考虑我有2个具有相同字段的数据库。
第一个数据库用于导出数据,
第二个数据库充当副本拥有数据库

数据库1将以文件格式csv导出数据库,该文件格式是从PHP脚本输出的。
数据库2将从php脚本导入数据库。

每个数据库中有两个与外键关系的表。

table_transaction

create table `table_transaction` (
    `id` int auto_increment primary key
    `date` DATE default now()
) engine = innoDB;

样本数据

id | date 
1  | 2012-12-31
2  | 2012-12-30
3  | 2012-12-29

table_transaction_product

create table `table_transaction_product` (
    `id` int auto_increment primary key
    `product` string NOT NULL default '' /* Product Name */
    `fk_transaction` int auto_increment NOT NULL

     foreign key (`fk_transaction`)
         references table_transaction(`id`)
         on update cascade
         on delete cascade
) engine = innoDB;

样本数据

id | product     | fk_transaction
1  | shampoo     | 1
2  | soap        | 1
3  | conditioner | 1

这是从数据库1导出的示例CSV,并将导入到表2,即导出事务ID 1。

insert into table_transaction (id, date) values (1, '2012-12-31');
insert into table_transaction_product (id, product, fk_transaction) 
    values 
        (1, 'shampoo', 1),
        (2, 'soap', 1),
        (3, 'conditioner', 1)


由于ID这两个表都是auto_increment 我手动插入表格不会有任何问题。 id并使auto_increment mysql系统崩溃? 但是,如果没有输入ID并由mysql决定,则外键将不匹配。 我该怎么办?

谢谢。

它应该不会造成问题,但我建议您更改第二个数据库上的表定义,以删除auto_increment标志。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM