【问题标题】:How to add a foreign key column in the MySQL table?如何在 MySQL 表中添加外键列?
【发布时间】:2018-07-19 19:21:39
【问题描述】:

我在 MySQL 中有一个名为 payment_request 的表,

DESCRIBE payment_request 提供以下输出,

oderbook 表如下所示,

我想将orderbookpayment_request 表中的id 添加为外键,名称为payment_request_idid 列之后(第二个位置)。

运行 MySQL 的 SQL 是什么?

【问题讨论】:

标签: mysql


【解决方案1】:

首先您需要在表orderbook中添加新列

ALTER TABLE orderbook
ADD payment_request_id INT(10) unsigned AFTER ID;

然后添加一个将定义外键的约束

ALTER TABLE orderbook
ADD CONSTRAINT fk_orderbook FOREIGN KEY (payment_request_id) 
REFERENCES payment_request (id);

参考:

【讨论】:

  • 最后3个添加外键的命令没有执行,我得到错误:Error Code: 1215. Cannot add foreign key constraint
  • @Arefe,因为数据类型不匹配。查看我的更新答案。
【解决方案2】:

您可以在创建表时执行此操作:

CREATE TABLE Orders (
    OrderID int NOT NULL,
    OrderNumber int NOT NULL,
    PersonID int,
    PRIMARY KEY (OrderID),
    FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
); 

或通过改变表格:

ALTER TABLE Orders
ADD FOREIGN KEY (PersonID) REFERENCES Persons(PersonID); 

另请参阅this tutorial

【讨论】:

  • 非常感谢您的回答
猜你喜欢
  • 2023-01-05
  • 2013-07-10
  • 1970-01-01
  • 1970-01-01
  • 2014-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多