考虑我有2个具有相同字段的数据库
第一个数据库用于导出数据,
第二个数据库充当副本有数据库
数据库1将以PHP脚本输出的文件格式csv导出数据库 数据库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决定它,那么外键将不匹配。我该怎么办?
谢谢。
答案 0 :(得分:1)
它不应该导致问题,但我建议更改第二个数据库上的表定义以删除auto_increment标志。