如何在.Net的MySqlCommand里面使用MySql用户自定义变量?

Mysql使用@符号代表变量,但C#也恰好使用@代表用户自定义变量,这样两者就会正好冲突了。

SELECT
    (@rowNum :=@rowNum + 1) AS rowId,
    u.*, r.RoleName
FROM
    userinfo u
LEFT JOIN roleinfo r ON u.RoleId = r.Id,
 (SELECT(@rowNum := 0)) b
WHERE
    1 = 1
ORDER BY
    UserName ASC
LIMIT 0,
 15

这时的解决办法就是在连接字符串中,加上  ;Allow User Variables=True  

<add name="MySqlConnStr" connectionString="server=192.168.99.238;database=leshui;UserId=root;Password=hexiao061200;CharSet=utf8;port=3306;;Allow User Variables=True" />

这样就可以啦。。

原文地址:https://www.cnblogs.com/huxiaolin/p/4992449.html