我的多表连接中的语法错误在哪里?

时间:2013-11-25 19:13:32

标签: mysql join

我正在尝试编写一个语句,使用跨多个相关表的条件来查找配方的名称,但是我收到的语法错误如下所示:

  

您的SQL语法有错误;查看与您的mysql服务器版本对应的手册,以便在'quantity<附近使用正确的语法700)在第1行的营养.recipeID = ingredientlist.reci'上加入成分列表。

这是我正在使用的select语句。

SELECT recipe.name 
    from recipe 
        join nutrition 
            on recipe.recipeID = nutrition.recipeID 
                AND nutrition.unit = "calories" 
                AND nutrition.quantity < 700
        join ingredientlist 
            on nutrition.recipeID = ingredientlist.recipeID 
        join ingredient 
            on ingredientlist.ingredientID = ingredient.ingredientID 
                AND ingredient.type like "fish";

1 个答案:

答案 0 :(得分:3)

在MySQL中,双引号和单引号被平等对待 - 定义字符串文字,但这不是ANSI标准,它只是默认行为。在ANSI / ISO标准中,双引号用于列和表标识符,而不是字符串文字。

请参阅mySQL文档:

  

启用 ANSI_QUOTES 后,您无法使用双引号引用文字字符串,因为它被解释为标识符。