首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这里我的错误是什么,显示了SQL语法错误?

问这里我的错误是什么,显示了SQL语法错误?
EN

Stack Overflow用户
提问于 2014-11-21 11:37:17
回答 1查看 118关注 0票数 4
代码语言:javascript
复制
$upper = $this->db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE key='ndz_limit_up'");
$lower = $this->db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE key='ndz_limit_down'");

请帮帮忙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-21 11:39:19

因为,key是一个MySQL保留关键字。

http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

请对单词key使用反勾号。

代码语言:javascript
复制
$upper = $this->db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE `key`='ndz_limit_up'");
$lower = $this->db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE `key`='ndz_limit_down'");

避免这类问题的最佳办法是:

在创建MySQL表字段时,我们应该检查DataBase保留关键字。

我们应该确保我们没有使用任何关键字作为我们的领域。

解决这个问题的方法:

1)对表名和字段名使用回勾(‘)。

2)对于表,将数据库名放在前面,如:databaseName.tableName。

字段:前面的表名,如:tableName.fieldName。

这样,MySQL将解释提供的不是MySQL保留关键字,而是数据库表或字段名。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27060485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档