如何在React中使用多个外键插入表?

时间:2019-04-01 15:30:20

标签: javascript mysql sql reactjs

创建自行车出租应用程序,并将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();

1 个答案:

答案 0 :(得分:0)

您应该在插入之前禁用约束检查,然后再重新启用约束检查(如果要插入大量数据)

SET FOREIGN_KEY_CHECKS=0;

然后在完成后

SET FOREIGN_KEY_CHECKS=1;

或者只是插入IGNORE

"INSERT IGNORE" vs "INSERT ... ON DUPLICATE KEY UPDATE"

这完全取决于您想要实现的目标

所以它看起来像这样:

  1. 禁用约束检查。

  2. 将所有数据插入所有相关表

  3. 启用约束检查。

    a)确认您没有丢失任何数据。

    b)验证约束是否已实际启用