我尝试使用我在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)
我能知道这里的问题是什么吗?抱歉,这个问题听起来很愚蠢,只是一个新手
答案 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是您要添加外键的表格)