【问题标题】:Trying to delete row by index value尝试按索引值删除行
【发布时间】:2013-06-27 12:41:42
【问题描述】:

我正在使用 Mysql 和 C#,试图通过我称为“索引”的列删除一行。它是一个 int 唯一的自动增量。

我想传递一个 sql 字符串来执行查询 (string sql = "DELETE FROM 帐户 WHERE index = '123'";)

并让它删除第 1 行,或者我通过的任何行。

我也试过没有 ' 。 "从账户中删除索引 = 123";

当我将列更改为字符串值时,它会起作用。像 CRN 而不是索引。索引是一个 int,CRN 是一个字符串。 但是当我尝试在 C# 中传递一些东西时,你只能将值作为字符串传递给 sql 连接。所以我想我可能需要对我传递的值做一些事情来表明这部分字符串是一个数字。

类似

executequery (string sql = "DELETE FROM Accounts_NWACC WHERE index = '#1'";)

【问题讨论】:

    标签: mysql


    【解决方案1】:

    Index 是保留字。试试这样:

    DELETE FROM Accounts WHERE `index` = 123
    

    最好避免在列名中使用保留字,以避免此类冲突。大多数人会将其称为id。

    请注意,这些是反引号(在大多数键盘上,它是 TAB 上方和 1 左侧的键,与 ~ 位于同一键)

    【讨论】:

    【解决方案2】:

    首先将executequery改为executeUpdate

    executeUpdate("DELETE FROM Accounts WHERE index ='123'");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-22
      • 2014-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多