javascript - 如何在 React 中插入具有多个外键的表?

标签 javascript mysql sql reactjs

创建自行车租赁应用程序并将 addBike() 实现到数据库。 addCustomer() 使用此代码,但我认为这是因为它没有外键。当表的一半是外键时,如何插入数据库?

谢谢!

新自行车.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');
      }
    );
  }
}

服务.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();

最佳答案

你应该在插入前禁用约束检查并在插入后重新启用它(如果你想插入大量数据)

SET FOREIGN_KEY_CHECKS=0;

然后当你完成的时候

SET FOREIGN_KEY_CHECKS=1;

或者只是插入忽略

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

一切都取决于你想达到什么目的

所以它看起来像这样:

  1. 禁用约束检查。

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

  3. 启用约束检查。

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

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

关于javascript - 如何在 React 中插入具有多个外键的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55458684/

相关文章:

javascript - 提交表单时,如何检查用户的电子邮件是否已在我的数据库中?

带有参数的Javascript函数有一个函数吗?

javascript - 根据相同的属性名称创建对象数组

mysql - 使用不同的值更新表列

sql - SQL Server 中的模糊短语相似度

mysql - SQL有没有办法在不使用UNION的情况下保留元数据的同时将多个时间列排序为一个?

mysql - 在 Rails 中获取 mysql 结果,但格式类似于 MySql 客户端界面

javascript - 如何使用 Javascript 读取 CSS 属性值?

mysql - 存储哈希值的最佳 mysql 类型是什么

mysql - mysql 种子中的异步等待不运行