【发布时间】:2023-03-07 04:57:02
【问题描述】:
我使用 MySQL
我有一个 mysql 表。
我想选择所有带有行号的记录。
为此,我使用这个 sql 命令。
SELECT @row := @row + 1 as row, t.* FROM t_persons t, (SELECT @row := 0) r
但是当我尝试运行命令并将数据加载到数据表中时,如下所示
DataTable dt = new DataTable();
command.CommandText = sql;
adapter.SelectCommand = command;
adapter.Fill(dt);
它会给出一个错误,例如 在命令执行期间遇到致命错误。
但是当我在 phpmyadmin 中尝试这个命令时它工作正常。那么问题是什么。以及如何解决。
谢谢...
【问题讨论】:
-
这在我看来不像 sql。
-
@row 看起来像参数。然而没有一个被定义。这不是您在 C# 中构建 SQL 的方式
-
我猜
sql是一个包含您之前显示的查询的字符串,对吧?但是你在使用之前定义了@row吗? -
不,我之前没有定义@row...
-
嗯,似乎是对的。 look here。唯一的区别是
as