1

这是我的脚本:

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 world 开始,以了解外键。

我在 PHPMyAdmin 上收到此错误:

SQL查询:

创建表人(

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

MySQL 说:

1072 - 表中不存在键列“CountryId”

我在这里犯了什么新手错误?

4

1 回答 1

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 )
);
于 2012-09-10T20:02:12.820 回答