创建简单外键引用时SQL语法出错

时间:2012-09-10 19:55:48

标签: mysql sql foreign-keys ddl

这是我的剧本:

create table Country
(
CountryId int primary key,
Name varchar(255)
);

create table Person
(
PersonId int primary key,
Name varchar(255),
FOREIGN KEY (CountryId) references Country(CountryId)
);

我正在从MS SQL过渡并尝试掌握MySQL并从我典型的Person-> Country关系的hello世界开始,以了解外键。

我在PHPMyAdmin上收到此错误:

  

SQL查询:

     

CREATE TABLE Person(

     

PersonId INT PRIMARY KEY,Name VARCHAR(255),FOREIGN KEY(   CountryId)REFERENCES Country(CountryId));

     MySQL说:

     

1072 - 表

中不存在关键列'CountryId'

我在这里犯了什么新手?

1 个答案:

答案 0 :(得分:2)

那是因为您没有在Person中创建将在外键中使用的列,因此Key column 'CountryId' doesn't exist in table。这是你如何做到的:

CREATE TABLE Person(
    PersonId INT PRIMARY KEY , 
    Name VARCHAR( 255 ) , 
    CountryId int,
    FOREIGN KEY ( CountryId ) REFERENCES Country( CountryId )
);
相关问题