如何用mysql实现关系数据库

如何用mysql实现关系数据库,mysql,foreign-keys,relational-database,rdbms,mysql-workbench,Mysql,Foreign Keys,Relational Database,Rdbms,Mysql Workbench,我在mysql数据库中创建了两个表。为此,我使用了以下代码 CREATE TABLE Country ( CountryID VARCHAR(8) PRIMARY KEY, CountryName VARCHAR(15) UNIQUE NOT NULL )ENGINE=INNODB; CREATE TABLE Agent ( AgentNo VARCHAR(10) PRIMARY KEY, AgentName VARCHAR(50) UNIQUE NOT NUL

我在mysql数据库中创建了两个表。为此,我使用了以下代码

CREATE TABLE Country
(
    CountryID VARCHAR(8) PRIMARY KEY,
    CountryName VARCHAR(15) UNIQUE NOT NULL
)ENGINE=INNODB;

CREATE TABLE Agent
(
    AgentNo VARCHAR(10) PRIMARY KEY,
    AgentName VARCHAR(50) UNIQUE NOT NULL,
    AddNo VARCHAR(8) NOT NULL,
    Street VARCHAR(25) NOT NULL,
    City VARCHAR(20) NOT NULL,
    ContactPerson VARCHAR(20),
    Email VARCHAR(40),
    CountryID VARCHAR(8) NOT NULL REFERENCES Country(CountryID)
)ENGINE=INNODB;
但当我试图放下乡村桌子时,它允许我放下那张桌子。但代理表仍在数据库中

我认为这些表之间没有正确实现外键引用。我怎样才能解决这个问题


我不熟悉mysql。我熟悉MS SQL Server,以前没有遇到过这样的问题

在引用实现外键之前,需要添加外键fk\U country\U id(CountryID):

CREATE TABLE Agent
(
    AgentNo VARCHAR(10) PRIMARY KEY,
    AgentName VARCHAR(50) UNIQUE NOT NULL,
    AddNo VARCHAR(8) NOT NULL,
    Street VARCHAR(25) NOT NULL,
    City VARCHAR(20) NOT NULL,
    ContactPerson VARCHAR(20),
    Email VARCHAR(40),
    CountryID VARCHAR(8) NOT NULL,
    foreign key fk_country_id(CountryID) REFERENCES Country(CountryID)
)ENGINE=INNODB;

你的头衔是什么意思?MySQL是一个关系数据库,谢谢。我现在就试试。或者您可以在代码更改表
agent
添加约束
agent\u ibfk\u 1
外键(
CountryID
)引用
country
CountryID
);