C#中的MySQL内部联接语法错误

本文关键字:语法 错误 内部 中的 MySQL | 更新日期: 2023-09-27 18:00:57

有人知道为什么会出现语法错误吗?我觉得里面没有保留词,对吧?

C#命令

cmd.CommandText = "SELECT ordertable._name, ordertable.quantity, food_menu.food_price, beverage_menu.beverage_price" +
                         "FROM ordertable" +
                         "INNER JOIN food_menu ON ordertable._name = food.foodname" +
                         "INNER JOIN beverage_menu ON beverage_menu.beverage_name' = ordertable._name" +
                         "WHERE ordertable.tablenum = '1'";

错误:

您的SQL语法有错误;查看手册与您的MySQL服务器版本相对应,以便使用正确的语法在"JOIN food_menu ON ordertable"附近_name=food.foodnameINNER加入beverage_menu ON be’在第1行

C#中的MySQL内部联接语法错误

您缺少空格。此时,您的查询将类似于FROM ordertableINNER JOIN food_menu ...。您可以使用多行语法来简化

cmd.CommandText = @"SELECT ordertable._name, ordertable.quantity, food_menu.food_price, beverage_menu.beverage_price
                         FROM ordertable
                         INNER JOIN food_menu ON ordertable._name = food_menu.foodname
                         INNER JOIN beverage_menu ON beverage_menu.beverage_name = ordertable._name
                         WHERE ordertable.tablenum = 1";

从字符串中删除不必要的串联,您会得到一个错误,因为您的查询需要一些在联接之前没有指定的空格。

cmd.CommandText = "SELECT ordertable._name, 
                          ordertable.quantity, 
                          food_menu.food_price,
                          beverage_menu.beverage_price 
                   FROM  ordertable
                   INNER JOIN food_menu 
                         ON ordertable._name = food.foodname
                   INNER JOIN beverage_menu 
                         ON beverage_menu.beverage_name = ordertable._name
                   WHERE ordertable.tablenum = 1";