创建自行车出租应用程序,并将addBike()实现到数据库。 addCustomer()使用此代码,但是我认为这是因为它没有外键。当一半的表是外键时,如何插入数据库?
谢谢!
newbike.js:
add() {
bikeService.addBike(
this.wheelsize,
this.frame,
this.gears,
this.typeId,
this.location,
this.orderId,
id => {
history.push('/bike/' + id);
this.props.history.push('/regbike');
}
);
}
}
services.js:
connection.query(
'insert into Bike (wheelsize, frame, gears, typeId, statusId, location, orderId) values (?, ?, ?, ?, ?, ?, ?)',
[wheelsize, frame, gears, typeId, statusId, location, orderId],
(error, results) => {
if (error) return console.error(error);
success(results.insertId);
}
);
}
export let bikeService = new BikeService();
答案 0 :(得分:0)
您应该在插入之前禁用约束检查,然后再重新启用约束检查(如果要插入大量数据)
SET FOREIGN_KEY_CHECKS=0;
然后在完成后
SET FOREIGN_KEY_CHECKS=1;
或者只是插入IGNORE
"INSERT IGNORE" vs "INSERT ... ON DUPLICATE KEY UPDATE"
这完全取决于您想要实现的目标
所以它看起来像这样:
禁用约束检查。
将所有数据插入所有相关表
启用约束检查。
a)确认您没有丢失任何数据。
b)验证约束是否已实际启用