0

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

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

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

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

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

就像是

执行查询(字符串 sql = "DELETE FROM Accounts_NWACC WHERE index = '#1'";)

4

2 回答 2

4

Index是保留字。试试这样:

DELETE FROM Accounts WHERE `index` = 123

避免使用保留字作为列名是一个好主意,以避免这些类型的冲突。大多数人会称之为类似的东西id

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

于 2013-06-27T12:43:22.163 回答
0

首先将executequery改为executeUpdate

executeUpdate("DELETE FROM Accounts WHERE index ='123'");
于 2013-06-27T12:47:48.777 回答