老师,看一下,自己写的一条sql语句出错

老师,看一下,自己写的一条sql语句出错

insert into user(username,password,status,gender,email,tel,desc) 

VALUES('nicozhou','1',0,0,'1139464338@qq.com','13588385986','1')

这条语句为什么出错

表结构是这样的http://img1.sycdn.imooc.com//climg/5d5f73b7000102c717170777.jpg


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕珊 2019-08-23 17:56:08

同学,你好!你创建表的时候,把desc字段改个名字,desc在mysql中有特殊含义,表示排序。比如改成desc1,然后使用如下sql语句:注意下面选中的0都是用单引号引起来的,不然和创建表时定义的类型不一致,也会报错。

http://img1.sycdn.imooc.com//climg/5d5fb7f600018e4412140082.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

好帮手慕珊 2019-08-23 15:58:21

同学,你好!有两个字段status和gender是enum类型的,它们的默认值是多少呢,插入语句中给的值满足要求吗?

另外,建议同学把错误提示贴出来,老师根据错误提示查看一下问题。

老师的表和插入语句是如下内容,是可以正确执行的:

create table user2(id int not null auto_increment primary key,username varchar(20),password varchar(32),status enum('0','1'),gender enum('0','1'),email varchar(50),tel char(11),desc1 varchar(120));
insert into user2(username,password,status,gender,email,tel,desc1) VALUES('nicozhou','1','0','0','1139464338@qq.com','13588385986','1');

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 hei嘿嘿 #1
    CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '????', `username` varchar(20) NOT NULL COMMENT '???', `password` varchar(32) NOT NULL COMMENT '????', `status` enum('0','1') NOT NULL DEFAULT '0' COMMENT '0??????,1?????', `gender` enum('0','1','2') NOT NULL DEFAULT '2' COMMENT '0????1????2????', `email` varchar(50) NOT NULL COMMENT '??', `tel` char(11) NOT NULL, `desc` varchar(120) DEFAULT NULL COMMENT '????', PRIMARY KEY (`id`), UNIQUE KEY `tel` (`tel`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 这个是再cmd里查看的,因为cmd里是gbk,所以这里出现了乱码 [Err] 1064 - 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 'desc) VALUES('nicozhou','1',0,0,'1139464338@qq.com','13588385986','1')' at line 1 这个是错误信息,麻烦老师看一下了,我实在不知道这个到底错在哪里了
    2019-08-23 16:19:24
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师