.NET MySqlCommand 可以利用 MySQL 用户定义的变量吗?
如果查询使用 MySqlAdapter 在 .NET 中执行 MySQL 查询可能会带来挑战用户定义的变量。
特定查询尝试:
以下 SQL 语句尝试将行号分配给不同的行:
SELECT @rownum := @rownum +1 rownum, t . * FROM ( SELECT @rownum :=0 ) r, ( SELECT DISTINCT TYPE FROM `node` WHERE TYPE NOT IN ('ad', 'chatroom') )t
遇到异常:
何时该查询在.NET中执行,出现异常,因为@rownum变量被解释为参数,需要显式
解决方案:
要解决此问题,需要指定连接字符串中允许使用用户变量。这可以通过添加以下参数来实现:
;Allow User Variables=True
更新的连接字符串:
sqlConnection.ConnectionString = "Data Source=localhost;Initial Catalog=myDb;Username=myUser;Password=myPwd;Allow User Variables=True";
其他信息:
此解决方案与较新版本的 .NET Connector for MySQL 兼容。更多详细信息,请参阅此博客:[如何在 .NET 中使用 MySQL 中的用户定义变量](链接博客)。
以上是.NET MySqlCommand 可以使用 MySQL 用户定义的变量吗?的详细内容。更多信息请关注PHP中文网其他相关文章!