以下查询来自此链接http://www.w3schools.com/sql/sql_foreignkey.asp
CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)
)
答案 0 :(得分:0)
fk_PerOrders
是约束的名称。
将来想要删除外键。您可以通过名称引用它来执行此操作:
ALTER TABLE orders DROP FOREIGN KEY fk_PerOrders;
答案 1 :(得分:0)
它只是约束的名称。见Using FOREIGN KEY Constraints:
[CONSTRAINT [symbol]] FOREIGN KEY
[index_name] (index_col_name, ...)
REFERENCES tbl_name (index_col_name,...)
[ON DELETE reference_option]
[ON UPDATE reference_option]
在您的代码中,fk_PerOrders
是symbol
:
如果给出了CONSTRAINT符号子句,则使用符号值(如果使用) 必须在数据库中是唯一的。重复的符号将导致 错误类似于:ERROR 1022(2300):无法写入;重复密钥 表'#sql- 464_1'。如果没有给出该条款,或者没有给出符号 包含在CONSTRAINT关键字后面的约束名称 是自动创建的。
答案 2 :(得分:0)
fk_PerOrders是赋予约束的名称,它将由数据库客户端使用。 稍后您可以使用他的名字将其删除。
答案 3 :(得分:0)
你一定错过了这部分。
“FOREIGN KEY约束用于防止会破坏表之间链接的操作。
FOREIGN KEY约束还可以防止将无效数据插入到外键列中,因为它必须是它所指向的表中包含的值之一。“
ALTER TABLE Orders
ADD FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)