现在使用navicat图形界面或者Hibernate做映射生成表的时候,渐渐的会忽视掉关键字这个问题,而后续也会不断的产生错误提示,一遍遍的查询代码无果,甚至开始怀疑人生,但是其实很多情况下只是使用了保留字而已,因此在设计数据库之初便要尽量的规避关键字和保留字。

但是这里要提一下的是mysql是支持使用关键字做字段名的,但是针对保留关键字是必须要加引用。mysql官网提供了三个例子是可以很好的说明这些的。

interval begin、end都是关键字,interval是保留关键字,因此会报错mysql> CREATE TABLE interval (begin INT, end INT);ERROR 1064 (42000): You have an error in your SQL syntax ...near 'interval (begin INT, end INT)'

当给interval加上引用''后便可以正确执行该sql语句,也不会报begin、end的错,因为这是mysql允许的,但是不推荐这个用法,谁知道升级之后会不会变成保留字。。。。。。

mysql> CREATE TABLE `interval` (begin INT, end INT);Query OK, 0 rows affected (0.01 sec)

(这个可以略过,,,,,反正不推荐使用关键字做这些事,)还有一种情况——内置函数的名字,官网是这样说的:

Names of built-in functions are permitted as identifiers but may require care to be used as such

mysql> CREATE TABLE mydb.interval (begin INT, end INT);Query OK, 0 rows affected (0.01 sec)

下面的链接是最新版的mysql的关键字和保留字的表,可以在设计时多查一查,(R)是保留关键字

有些人可能还不明白关键字和保留字的区别,简单的说,关键字分两种:非保留和保留,保留关键字又有一个特殊类别叫未来保留。

mysql5.7官方文档地址:https://dev.mysql.com/doc/refman/5.7/en/keywords.html

解决办法 https://blog.csdn.net/RightBeforeTheSix/article/details/80395920

1、看写的SQL语句

insert into mrt_course(describe,price,add_time,class_id,is_top ) values ( '你好',25,1524313377,1,0)

2、问题显示 : 是MySQL的关键字,这样插入会显示以下错误

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 'describe,price,add_time,class_id,status,is_top ) values ( '你好',25,1524313377' at line 1

3、解决方法,在关键字上加上英文的 `describe` ,就可以插入了;在Navicat里面写的时候会自动添加``

insert into mrt_course(`describe`,price,add_time,class_id,is_top ) values ( '你好',25,1524313377,1,0)

mysql映射表_MySQL报错找不到问题?可能是你的SQL用了关键字相关推荐

  1. mysql 1406文本_mysql报错:“1406, Data too long for column”

    mysql存储的时候报错: pymysql.err.DataError: (1406, "Data too long for column 'songlist_url' at row 1&q ...

  2. mysql注入原理_Mysql报错注入原理分析

    报错类型Duplicate entry报错:多次查询插入重复键值导致count报错从而在报错信息中带入了敏感信息. Xpath报错:从mysql5.1.5开始提供两个XML查询和修改的函数,语法错误导 ...

  3. mysql 1055 解决方案_MySQL报错1055解决方案 - 树懒学堂

    相信大家在使用MySQL数据库的过程中,或多或少都遇到报错.在mysql版本更新到5.7之后,有一个新的报错出现的次数越来越频繁,它就是MySQL 1055 报错. 本文就给大家介绍一下MySQL 1 ...

  4. 启动mysql服务是报错找不到pid_mysql报错 The server quit without updating PID file

    我的mysql总是在重启的时候mysql的数据总是会初始化,我以为是的配置问题,所以在网上找了各种方法测试都不通过,下面看我遇到的几个错误. 重启mysql失败 [root@wulaoer_mysql ...

  5. mysql字段超长会报错吗_MySQL使用过程中的报错处理(持续更新)

    MySQL使用过程中的报错处理(持续更新) 一.数据库初始化 1.Percona的MySQL 5.6.20版本数据库初始化 初始化命令(MySQL 5.6版本不适用mysqld命令进行初始化) ./s ...

  6. Mysql systemctl start mysqld报错的问题解决

    文章来源: 学习通http://www.bdgxy.com/ 普学网http://www.boxinghulanban.cn/ 智学网http://www.jaxp.net/ 报错信息: Job fo ...

  7. MySQL中的中文报错--保姆级解决方法

    MySQL中的中文报错问题解决方法 文章目录 MySQL中的中文报错问题解决方法 一.搜索"服务",找到MySQL的服务器 二.找到MySQL服务器之后,右键打开属性,找到MySQ ...

  8. MySQL导出CSV文件报错secure-file-priv权限受限mac

    MySQL导出文件遇到secure-file-priv报错 前两天在电脑上安装了MySQL 8.0.18,在尝试从数据库导出csv文件时,遇到了以下报错: ERROR 1290 (HY000): Th ...

  9. java报错-找不到或无法加载主类(Error: Could not find or load main class)

    此文首发于我的个人博客:java报错-找不到或无法加载主类(Error Could not find or load main class) - zhang0peter的个人博客 比如说test.ja ...

最新文章

  1. 【每日一题】航班预订统计
  2. 网站SEO优化中该如何解决网站改版问题?
  3. 科幻电影系列-计算机技术
  4. 【转】c# [Serializable]的作用
  5. SQL注入学习资料总结
  6. Intellig idea导入项目第一次运行报错- Error running ‘Application‘: Command line is too long—— 解决方法
  7. python百度贴吧怎么爬取最早的帖子_Python爬虫爬取百度贴吧的帖子
  8. UML类图关系全面剖析[转]
  9. codevs 5960 信使x
  10. java穷举密码_Java实现穷举密码登录FTP服务器
  11. HTML表单练习~百度注册
  12. Redis ZADD命令
  13. 多链跨链、高可用、高安全性的区块链应用如何落地? 金链盟大赛10强揭晓
  14. 数据中心机房建设有哪些关键问题要考虑?
  15. HCIA-5G新技术融合创新应用
  16. interlib android客户端开发,基于Android移动图书馆设计与开发.doc
  17. js写轮播图(左右箭头)
  18. stm32使用数学库-基于stm32cubeide
  19. bkt项目 (一)设计
  20. 艾美捷人乳铁蛋白ELISA试剂盒预期用途注意事项

热门文章

  1. 5.4.2 Using Hibernate templates
  2. 写给自己--70年代的程序员
  3. Python从零开始系列连载(32)——Python文件操作(下)
  4. 对R语言发展与历史的一个初步认识
  5. 求一个截取字符的正则表达式
  6. OpenAI公布强化学习新算法,可控制复杂机器人
  7. 使用Angular与TypeScript构建Electron应用(二)
  8. 深入浅出JavaScript (五) 详解Document.write()方法
  9. 谷歌:早在这个0day 补丁发布前几周,朝鲜国家黑客就已利用
  10. Linux Netfilter 防火墙模块爆新漏洞,攻击者可获取root权限