设置主键和外键

时间:2014-10-15 14:06:11

标签: php mysql sql phpmyadmin

我尝试使用我在http://fellowtuts.com/php/setting-up-foreign-key-in-phpmyadmin/学习的方法设置主键和外键,但是出现错误,说明

#1025 - Error on rename of '.\sistem_akaun\#sql-1b70_7d' to '.\sistem_akaun\detail_akaun' (errno: 150 - Foreign key constraint is incorrectly formed)

我能知道这里的问题是什么吗?抱歉,这个问题听起来很愚蠢,只是一个新手

3 个答案:

答案 0 :(得分:1)

检查以确保您引用的主键存在。如果,在主表中,主表上有id_main = 0,其中id_main是引用id_ref(这是另一个表的主键)的外键,但是你引用了ref_id = 1且没有0值,你将得到一个错误。

检查以确保您的外键是另一个表的主键。

检查以确保它们是相同的数据类型,长度,无符号状态。有时这些事情有时不会。

有时我会在外键和主键都被命名为#34; id"时遇到麻烦。这可能是一个问题,具体取决于您使用的软件/方法。

答案 1 :(得分:0)

@itsfawwaz,你也可以通过以下方式做到这一点。请查看以下示例。

示例:(表格订单)

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)
)

上面是示例示例,您可以使用自己的表字段!

如果您还有任何问题,请告诉我。

答案 2 :(得分:0)

您可能会发现在SQL中手动指定外键更容易。

ALTER TABLE Table
ADD FOREIGN KEY (Column) 
REFERENCES TableToReference (ColumnToReference) 

(其中Table是您要添加外键的表格)