mysql - 从表单获取客户详细信息时如何将客户添加到订单

标签 mysql

在客户结帐后,我无法将客户及其订单添加到订单表中。

这是我用于创建我正在使用的四个表的 SQL:

CREATE TABLE IF NOT EXISTS Product(
    ID int NOT NULL AUTO_INCREMENT,
    Name varchar(255) NOT NULL,
    Description text(65535) NOT NULL,
    Quantity int NOT NULL,
    Photo varchar(255),
    Price float NOT NULL,
    Category varchar(50),
    PRIMARY KEY (ID)
) ENGINE=innoDB;

CREATE TABLE IF NOT EXISTS Customer(
    ID int NOT NULL AUTO_INCREMENT,
    FirstName varchar(255) NOT NULL,
    LastName varchar(255) NOT NULL,
    Email varchar(255) NOT NULL,
    PhoneNumber varchar(11) NOT NULL,
    Address varchar(50),
    Town varchar(50),
    County varchar(50),
    PostCode varchar(50),
    PRIMARY KEY (ID)
) ENGINE=innoDB;

CREATE TABLE IF NOT EXISTS OrderTable(
  ID int NOT NULL AUTO_INCREMENT,
  Date date NOT NULL,
  PRIMARY KEY (ID),
  TotalPrice float NOT NULL,
  Customer_ID int NOT NULL,
  CONSTRAINT fk_Order_1
    FOREIGN KEY (Customer_ID)
    REFERENCES coursework_db.Customer (ID)
) ENGINE=innoDB;

CREATE TABLE IF NOT EXISTS OrderItem(
  ID int NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (ID),
  Product_ID int NOT NULL,
  Order_ID int NOT NULL,
  Quantity int NOT NULL,
  TotalPrice float NOT NULL,
  CONSTRAINT fk_OrderItem_1
    FOREIGN KEY (Product_ID)
    REFERENCES coursework_db.Product(ID),
  CONSTRAINT fk_OrderItem_2
    FOREIGN KEY (Order_ID)
    REFERENCES coursework_db.OrderTable(ID)
) ENGINE=innoDB;

我遇到的问题是,一旦将客户添加到数据库中以用作 OrderTable 表中的外键,如何从表中选择客户。

目前,我将客户的详细信息存储在本地存储中,可以轻松访问,但一旦将客户添加到数据库中,他们将获得一个 ID。这是我能想到的选择独特客户的唯一方法。

最佳答案

首先插入客户详细信息。然后获取新插入的客户的ID并在插入订单详细信息时使用它!

您可以使用LAST_INSERT_ID()将用户详细信息插入数据库以获取客户的 ID 后。

或者如果您使用 PHP,则:

希望这有帮助。

关于mysql - 从表单获取客户详细信息时如何将客户添加到订单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29902597/

相关文章:

mysql - 使用sql按组计算百分比

mysql - 使用 UNION ALL 或 DISTINCT 或 NOT IN 的正确方法

php - 将 PHP 日期时间转换为 MySQL RFC-822 RSS Feed 的有效日期时间

java - MySQL查询结果-使用java的memcached

mysql - 如何为一对多映射记录编写查询

php - 选择 * 从表中按 TRIM 排序(全部 [ :nonalphnum:] FROM `title` )

mysql - 从 INNER JOIN 特定 ids 更新,但所有更新

mysql - phpmyadmin导入数据库时​​显示错误代码500

Mysql 左连接不使用外键

php - 使用 HTML 表单更新多个 MySQL 表