【问题标题】:Update SQL statement with multiple fields within ONE table用一张表中的多个字段更新 SQL 语句
【发布时间】:2013-06-21 15:32:04
【问题描述】:

我正在尝试仅为一个表中的许多列编写更新 SQL 语句。例如产品表。在产品表中,有许多列,如名称、描述、价格、数量、图像、类别、状态。

所以我得出了这个 SQL 语句:

String sql = "UPDATE sm_product SET productDescription = '" + desc +
    "' , productPrice = ' + price + ', productQuantity = ' + quantity +
    ', productImage = '" + image + "', productCategory = '" + category +
    '"  WHERE productName = '" + name + "'";

但是,编译器告诉我有未封闭的字符文字而不是语句。我想知道我应该如何修复这个 SQL 语句,因为我只有一个表要更新。但是在那个表中,有很多字段。

提前致谢。

【问题讨论】:

  • 请注意我所做的编辑,以及语法突出显示如何显示您要插入的许多变量 NOT 被正确突出显示。
  • 与您的问题无关,但仍有一点需要注意,请确保您正在清理您的输入,以免发生 SQL 注入。
  • 如何清理输入?什么是 SQL 注入?
  • 请用您使用的语言标记您的问题,以便我们提供适合您环境的答案。

标签: mysql sql-update


【解决方案1】:

您的报价似乎有问题。试试这个:

String sql = "UPDATE sm_product SET productDescription = '" + desc +
    "' , productPrice = " + price + ", productQuantity = " + quantity +
    ", productImage = '" + image + "', productCategory = '" + category +
    "'  WHERE productName = '" + name + "'";

这是假设价格和数量是数字,其余的是字符串。

【讨论】:

  • 所以数字是“”。我以为他们是''。可是我写一行怎么会出错呢?
  • 数字不需要任何引号,只需要引用字符串。
猜你喜欢
  • 2010-11-19
  • 2018-08-30
  • 1970-01-01
  • 1970-01-01
  • 2013-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-15
相关资源
最近更新 更多