创建新时添加外键 table
Add a foreign key when creating a new table
我正在尝试创建一个新的 table(客户)并且我正在尝试添加外键 ZipCode,但它肯定不起作用我尝试寻找可能的解决方案但我无法做到它适用于我得到的东西。感谢任何帮助,谢谢!
CREATE TABLE Zip_Code (
ZipCode varchar(10) Not null,
City varchar(20),
StateCode varchar(2)
);
ALTER TABLE Zip_Code
ADD Primary Key (ZipCode);
CREATE TABLE Customer (
CustomerID INT Primary Key,
CustomerName varchar(30),
Address varchar(30),
FOREIGN KEY (ZipCode) REFERENCES Zip_Code(ZipCode),
CreditLimit money,
Balance money,
);
我的SQL:
CREATE TABLE Customer (
CustomerID int NOT NULL,
ZipCode int,
CustomerName varchar(30),
Address varchar(30),
PRIMARY KEY (CustomerID),
FOREIGN KEY (ZipCode) REFERENCES Zip_Code(ZipCode)
);
SQL 服务器/Oracle:
CREATE TABLE Customer (
CustomerID int NOT NULL PRIMARY KEY,
CustomerName varchar(30),
Address varchar(30),
ZipCode int FOREIGN KEY REFERENCES Zip_Code(ZipCode)
);
问题不在于主键定义。问题是customer
。为了将列声明为外键,您必须先定义列:
CREATE TABLE Customer (
CustomerID INT Primary Key,
CustomerName varchar(30),
Address varchar(30),
ZipCode varchar(10),
FOREIGN KEY (ZipCode) REFERENCES Zip_Code(ZipCode),
CreditLimit money,
Balance money,
);
Here 是一个 db<>fiddle.
我正在尝试创建一个新的 table(客户)并且我正在尝试添加外键 ZipCode,但它肯定不起作用我尝试寻找可能的解决方案但我无法做到它适用于我得到的东西。感谢任何帮助,谢谢!
CREATE TABLE Zip_Code (
ZipCode varchar(10) Not null,
City varchar(20),
StateCode varchar(2)
);
ALTER TABLE Zip_Code
ADD Primary Key (ZipCode);
CREATE TABLE Customer (
CustomerID INT Primary Key,
CustomerName varchar(30),
Address varchar(30),
FOREIGN KEY (ZipCode) REFERENCES Zip_Code(ZipCode),
CreditLimit money,
Balance money,
);
我的SQL:
CREATE TABLE Customer (
CustomerID int NOT NULL,
ZipCode int,
CustomerName varchar(30),
Address varchar(30),
PRIMARY KEY (CustomerID),
FOREIGN KEY (ZipCode) REFERENCES Zip_Code(ZipCode)
);
SQL 服务器/Oracle:
CREATE TABLE Customer (
CustomerID int NOT NULL PRIMARY KEY,
CustomerName varchar(30),
Address varchar(30),
ZipCode int FOREIGN KEY REFERENCES Zip_Code(ZipCode)
);
问题不在于主键定义。问题是customer
。为了将列声明为外键,您必须先定义列:
CREATE TABLE Customer (
CustomerID INT Primary Key,
CustomerName varchar(30),
Address varchar(30),
ZipCode varchar(10),
FOREIGN KEY (ZipCode) REFERENCES Zip_Code(ZipCode),
CreditLimit money,
Balance money,
);
Here 是一个 db<>fiddle.