MYSQL建表1064错误?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL建表1064错误?相关的知识,希望对你有一定的参考价值。

参考技术A

是设置 project_state不为null,且不给默认值造成的,处理办法,取消首选不是null选项

或者为project_state 添加一个默认值

参考技术B default 修饰符
可以使用 DEFAULT 修饰符为字段设定一个默认值。
如果一个字段中没有指定 DEFAULT 修饰符,mysql 会依据这个字段是 NULL 还是 NOT NULL 自动设置默认值。
如果指定字段可以为 NULL,则 MySQL 为其设置默认值为 NULL。
如果是 NOT NULL 字段,MySQL 对于数值类型插入 0,字符串类型插入空字符串,
时间戳类型插入当前日期和时间,ENUM 类型插入枚举组的第一条。
如果创建表时要使用default修饰符,那不要忘记在default后面加个默认值。
例如:
CREATE TABLE `websites` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` char(20) NOT NULL DEFAULT '' COMMENT '站点名称',
`url` varchar(255) NOT NULL DEFAULT '',
`alexa` int(11) NOT NULL DEFAULT '0' COMMENT 'Alexa 排名',
`country` char(10) NOT NULL DEFAULT '' COMMENT '国家',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

mysql建表时出现错误,代码是1064

CREATE TABLE GOODS
(
ID INTEGER NOT NULL,
GOODSNO INTEGER NOT NULL,
NAME VARCHAR2(50) NOT NULL,
TYPEID INTEGER NOT NULL,
DESCRIBE VARCHAR2(200) NOT NULL,
IMG VARCHAR2(100) NOT NULL,
PRICE FLOAT NOT NULL,
QTY INTEGER NOT NULL,
DISCOUNT FLOAT NOT NULL
)
求大神解释。。

错误原因:脚本中数据表的第五个字段describe为mysql的关键字,不能作为字段名;

MYSQL创建数据表的语法为:

以下为创建MySQL数据表的SQL通用语法:
CREATE TABLE table_name (column_name column_type);

以下例子中我们将在 RUNOOB 数据库中创建数据表runoob_tbl:
CREATE TABLE IF NOT EXISTS `runoob_tbl`(
`runoob_id` INT UNSIGNED AUTO_INCREMENT,
`runoob_title` VARCHAR(100) NOT NULL,
`runoob_author` VARCHAR(40) NOT NULL,
`submission_date` DATE,
PRIMARY KEY ( `runoob_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
注:字段名命名可以为字母数字,下划线,且不能为Mysql的关键字
参考技术A mysql就没有varchar2类型,
varchar2是oracle里面的,
换了追问

您看。。。换完之后还是这样

追答

把你蓝色字段名字用··括起来,是~下面的那个, 不要用错了

以上是关于MYSQL建表1064错误?的主要内容,如果未能解决你的问题,请参考以下文章

MYSQL建表1064错误?

错误笔记记录一个蛋疼的mysql建表错误 - 1064

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

MySQL [错误] 1064

mysql数据库出现错误代码1064是啥原因?

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