我正在尝试编写一个语句,使用跨多个相关表的条件来查找配方的名称,但是我收到的语法错误如下所示:
您的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";
答案 0 :(得分:3)
在MySQL中,双引号和单引号被平等对待 - 定义字符串文字,但这不是ANSI标准,它只是默认行为。在ANSI / ISO标准中,双引号用于列和表标识符,而不是字符串文字。
请参阅mySQL文档:
启用
ANSI_QUOTES
后,您无法使用双引号引用文字字符串,因为它被解释为标识符。