insert - Mysql插入数据语法
PHP中文网
PHP中文网 2017-04-17 15:27:04
[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名上不加 ``符号也没问题。

PHP中文网
PHP中文网

认证0级讲师

全部回复(4)
PHP中文网

因为describe是mysql保留的关键字,用来描述表结构的

PHPz

应该是你的列名里有mysql的关键字describe,所以不加引号会报错。

高洛峰

mysql命令describe

迷茫

关键字了
为防止这种情况发生,可以使用方法二

但是一般来讲不要使用关键字作为field

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号