尝试更改外键列的名称

时间:2021-02-13 20:17:20

标签: mysql foreign-keys primary-key alter-table

我有这两个表:

CREATE TABLE Collaborators (
  CustomerID INT NOT NULL,
  FirstName VARCHAR(25),
  LastName VARCHAR(25),
  Street VARCHAR(50),
  City VARCHAR(50),
  State VARCHAR(25),
  ZipCode INT,
  Telephone VARCHAR(15),
  PRIMARY KEY(CustomerID));

CREATE TABLE Orders (
  OrderID INT NOT NULL,
  CustomerID INT NOT NULL,
  SKU VARCHAR(20),
  Description VARCHAR(50),
  PRIMARY KEY(OrderID),
  FOREIGN KEY(CustomerID) REFERENCES Customers(CustomerID));

我的目标是将“客户”的任何实例更改为“合作者”。我试着一次一个,使用一个alter table语句。

ALTER TABLE Collaborators CHANGE CustomerID CollaboratorID INT;

ALTER TABLE Orders CHANGE CustomerID CollaboratorID INT;

这是 MySQL 向我吐出的错误代码:

<块引用>

错误 1025 (HY000):将“./QuantigrationUpdates/#sql-668_24”重命名为“./QuantigrationUpdates/Collaborators”时出错(错误号:150)

任何帮助将不胜感激。我认为我不能简单地更改列名,因为它们有键约束,但我不知道如何解决这个问题。谢谢。

更新:我可以使用 CREATE VIEW 来解决关键约束吗?

0 个答案:

没有答案
相关问题