这是我的剧本:
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'
我在这里犯了什么新手?
答案 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 )
);