显然,我在以下SQL语句中有语法错误:
create database project_line;
use project_line;
drop table if exists project;
create table project
(
p_id int primary key,
p_nm varchar(255) not null,
p_line varchar(255) not null
)
ENGINE = INNODB;
drop table if exists meta;
create table meta
(
m_id primary key,
p_id not null,
meta_nm varchar(255) not null,
foreign key (p_id) references project (p_id)
)
ENGINE = INNODB;
你能指出哪里吗?
答案 0 :(得分:0)
您忘记了m_id
和p_id
create table meta
(
m_id primary key, <------here
p_id not null, <------here
meta_nm varchar(255) not null,
foreign key (p_id) references project (p_id)
)
应为int
。
如果您使用像 MySQL Workbench 这样的设计工具,您会立即注意到这些错误,因为它们会突出显示。
答案 1 :(得分:0)
在第二个表中指定数据类型。试试这个sql。
create table project
(
p_id int primary key,
p_nm varchar(255) not null,
p_line varchar(255) not null
)
ENGINE = INNODB;
create table meta
(
m_id int primary key,
p_id int not null,
meta_nm varchar(255) not null,
foreign key (p_id) references project (p_id)
)
ENGINE = INNODB;
答案 2 :(得分:0)
您缺少字段“m_id”和“p_id”的数据类型。这就是你错误的地方。试试这个:
创建数据库project_line;
使用project_line;
如果存在项目则删除表; 创建表项目 ( p_id int主键, p_nm varchar(255)not null, p_line varchar(255)不为null ) ENGINE = INNODB;
drop table if exists meta; 创建表元 ( m_id int主键, p_id int not null, meta_nm varchar(255)not null, 外键(p_id)引用项目(p_id) ) ENGINE = INNODB;