insert - Mysql插入数据语法
问题描述
各位大神好,小弟今天在操作mysql插入数据时,碰到一个问题,百思不得其解,所以来SF请教一下各路大神。
表结构如下:

创建该表SQL语句如下:
CREATE TABLE `test_env` ( `id` int(11) NOT NULL AUTO_INCREMENT, `describe` varchar(11) NOT NULL, `detail` varchar(11) NOT NULL, `title` varchar(11) NOT NULL, `type` int(11) NOT NULL, `create_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
下面问题来了
我使用insert语句插入一条记录,但是一直提示我语法错误
insert into test_env (describe, detail, title, type) values (’11’, ’22’, ’33’, 0);
提示

如果我使用下面的insert语句则没有错误
insert into test_env (`describe`, `detail`, `title`, `type`) values (’11’, ’22’, ’33’, 0);
请问各位大神这是怎么回事,我之前在filed名上不加 ``符号也没问题。
问题解答
回答1:因为describe是mysql保留的关键字,用来描述表结构的
回答2:应该是你的列名里有mysql的关键字describe,所以不加引号会报错。
回答3:mysql命令describe
回答4:关键字了为防止这种情况发生,可以使用方法二
但是一般来讲不要使用关键字作为field
相关文章:
1. mysql - 我的myeclipse一直连显示数据库连接失败,不知道为什么2. boot2docker无法启动3. docker安装后出现Cannot connect to the Docker daemon.4. docker-compose中volumes的问题5. java - SSH框架中写分页时service层中不能注入分页类6. java - Spring事务回滚问题7. css3 - css怎么做出这样的效果?8. nignx - docker内nginx 80端口被占用9. javascript - 在vuejs中如何根据变量去引用不同的css样式呢10. javascript - mock.js可以存储数据吗

网公网安备