错误代码:1064You have an error in your SQL

这种错误是语法的问题,看了很多大佬的博客,大家都说一般都是取的字段名和mysql内部的关键字相同或者是where多打了个单引号,但是我发现自己的也没有和关键字冲突也没有where,所以就非常匪夷所思。

这是我的sql语句:

CREATE TABLE 'tb_person_info'(
 'use_id' INT(10) NOT NULL AUTO_INCREMENT,
 'name' VARCHAR(32) DEFAULT NULL,
 'profile_img' VARCHAR(1024) DEFAULT NULL,
 'email' VARCHAR(1024) DEFAULT NULL,
 'gender' VARCHAR(2)DEFAULT NULL,
 'enable_status' INT(2) NOT NULL DEFAULT'0' COMMENT'0:禁止使用,1:允许使用',
 'usertype' INT(2) NOT NULL DEFAULT'1' COMMENT'1:顾客 2:店家 3:超级管理员',
 'create_time' DATETIME DEFAULT NULL,
 'last_edit_time' DATETIME DEFAULT NULL,
 PRIMARY KEY('use_id')

)ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8

结果如下:
在这里插入图片描述

其中有意思的是,我用英文的单引号会飘红,中文的单引号就不会。
在这里插入图片描述

回归正题,我就到处去找博客看,看到有些写法的字段名和表是不加单引号的,所以我也去尝试一下,结果真的是这个问题。

USE o2o;
CREATE TABLE tb_person_info(
 use_id INT(10) NOT NULL AUTO_INCREMENT,
  NAME VARCHAR(32) DEFAULT NULL,
 profile_img VARCHAR(1024) DEFAULT NULL,
 email VARCHAR(1024) DEFAULT NULL,
 gender VARCHAR(2)DEFAULT NULL,
 enable_status INT(2) NOT NULL DEFAULT 0 COMMENT '0:禁止使用 1:允许使用',
 usertype INT(2) NOT NULL DEFAULT 1 COMMENT '1:顾客 2:店家 3:超级管理员',
 create_time DATETIME DEFAULT NULL,
 last_edit_time DATETIME DEFAULT NULL,
 PRIMARY KEY(use_id)

)ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 

结果如下:
在这里插入图片描述

考虑到我以前用的是mysql5.5的,是可以用单引号的。但是因为换了电脑,装了5.7版本的,所以才出现这种问题,姑且认为是版本的问题吧。

sql可视化工具:sqlyog 版本:mysql5.7

希望大佬能解答一下具体原因。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值