错误 1064(42000) 在 msql5 中创建表

Posted

技术标签:

【中文标题】错误 1064(42000) 在 msql5 中创建表【英文标题】:Error 1064(42000) Creating a Table in msql5 【发布时间】:2013-12-22 00:15:19 【问题描述】:
CREATE TABLE Message(
    MessageID int unsigned not null auto_increment primary key,
    naiveUserID int unsigned(7) NOT NULL,
    Title varchar(20),
    bodyOfText TEXT(2000)
);

我一直尝试在 mysql5 数据库上运行这个简单的创建表简介,但我一直收到错误:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
 corresponds to your MySQL server version for the right syntax to use near '(7) NOT NULL,
        Title varchar(20),
        bodyOfText TEXT(2000)
)' at line 3

我已经从几个不同的站点搜索了正确的语法,但无法运行任何东西!令人抓狂的是,当我使用老师的代码时,除了某些数据类型外,它与此非常相似,它运行完美:

CREATE TABLE EMPL (
Eid int unsigned not null auto_increment primary key,
Name varchar(20),
title varchar(30),
salary int,
emailsuffix varchar(60)
);

【问题讨论】:

【参考方案1】:

这是因为你的语法确实是错误的:没有int unsigned(7)type;试试这个:

CREATE TABLE Message(
    MessageID int unsigned not null auto_increment primary key,
    naiveUserID int(7) unsigned NOT NULL,
    Title varchar(20),
    bodyOfText TEXT(2000)
);

或:

CREATE TABLE Message(
    MessageID int unsigned not null auto_increment primary key,
    naiveUserID int unsigned NOT NULL,
    Title varchar(20),
    bodyOfText TEXT(2000)
);

【讨论】:

以上是关于错误 1064(42000) 在 msql5 中创建表的主要内容,如果未能解决你的问题,请参考以下文章

SQLSTATE [42000]:语法错误或访问冲突:1064 PHP/MySQL [关闭]

MySQL:错误 1142 (42000) 和错误 1064 (42000)

Cakephp SQLSTATE [42000]:语法错误或访问冲突:1064

为啥我在程序上收到 ERROR 1064 (42000) mysql 错误?

[42000][1064] SQL 错误:无法在 DataGrip 中执行新表。

为啥我是 laravel 抛出 SQLSTATE[42000]:语法错误或访问冲突:1064 错误