首页 > mysql > 如果MySQL表结构用到了MySQL的关键字,SQL语句该怎么写

如果MySQL表结构用到了MySQL的关键字,SQL语句该怎么写

2020年7月7日
分类: mysql 标签:

最近在编写一个SQL过程中遇到了如下报错:

ERROR 1064 (42000): You have an error in your SQL syntax

我的SQL语句为:

  insert into t_topic(category, title, desc, content) values(2, "Hello World", 'This is a beautiful world.', 'blabla...');

这是一个很简单的语句,就是往表t_topic里插入一条记录。但是一直不成功。
首先检查了一下各字段数据类型,都是匹配的。
然后注意到报错中提示是在’desc’字段出了错。

从网上查了一下MySQL这个错误码。恍然大悟。
原来语句中使用到了MySQL的关键字desc!
虽然我经常用desc查看表结构,但没意识到这个表结构竟然用它作为字段名称了!
这种表设计真是太不应该了。

解决办法:在sql语句中,用到MySQL关键字的地方,加上反引号,也就是键盘上数字那一排最右侧那个(“)。如下所示:

  insert into t_topic(category, title, ·desc·, content) values(2, "Hello World", 'This is a beautiful world.', 'blabla...');

您可能需要这些【参考资料】:
零一积流|IT参考 原创文章,转载请注明出处: http://www.it-refer.com/2020/07/07/how-to-write-sql-when-mysql-kewords-are-used-in-table-struct-definition


本文的评论功能被关闭了.