如何在.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" />

这样就可以啦。。

posted @ 2015-11-24 18:12  FrankHu  阅读(825)  评论(0编辑  收藏  举报