编写查询时的 SQL 语法错误
Posted
技术标签:
【中文标题】编写查询时的 SQL 语法错误【英文标题】:SQL Syntax error in writing a query 【发布时间】:2011-09-16 20:19:57 【问题描述】:好的,这是我的代码。我得到了错误;
“脚本行:4 您的 SQL 语法有错误;请查看与您的 mysql 服务器版本相对应的手册,以在 'SELECT * 附近使用正确的语法 来自用户可用性 WHERE user_id = '0'END' 在第 4 行 " 这是我的第一个问题,我不知道我哪里出错了。有点小菜鸟,谁能给我指点一下?
DELIMITER $$
DROP PROCEDURE IF EXISTS `getUserAvailabilityStation` $$
CREATE DEFINER=`web`@`localhost` PROCEDURE `getUserAvailabilityStation`(_user_id int(11))
BEGIN
SELECT *
FROM UserAvailabilities
WHERE user_id = '0'
END $$
DELIMITER ;
编辑:解决了这个问题,“WHERE user_id = 0”最后需要一个分号。 Nooby 错误 FTL。感谢各位大佬的帮助
【问题讨论】:
这是什么关系型数据库? (在询问 SQL 问题时最好包括在内)"
(不是`
)是 SQL-92 标识符引号,但这在实现之间差异很大......无论如何,除非需要,否则我避免使用标识符引号。读起来很恶心;-)
您将数据选择到哪里?您当前的select
查询毫无意义
【参考方案1】:
去掉引号并添加下划线:
SELECT *
FROM UserAvailabilities
WHERE user_id = 0;
【讨论】:
@McAzzaMan 修复我的答案。再试一次。 最后需要一个分号:/你可以编辑你的答案来包括这个吗?所以我可以为其他需要它的人标记它是正确的? 绝对不是:_user_id 是参数。 user_id 是列名。使用前导下划线命名空间参数是一种常见的模式以上是关于编写查询时的 SQL 语法错误的主要内容,如果未能解决你的问题,请参考以下文章