为我修复MySQL错误#1064

时间:2013-05-13 10:35:16

标签: mysql mysql-error-1064

显然,我在以下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;

你能指出哪里吗?

3 个答案:

答案 0 :(得分:0)

您忘记了m_idp_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;