C# 一段程序如下,执行出错,错误信息是 “Parameter '@rowNum' must be defined”
但是直接在 mySql workbatch 中运行是正确的!! 原因和在? 搜索一下,看到老外的网站说
连接串要加上 : “Allow User Variables=True”, 再试验一次,发现可以了!!
string mySqlConnString = @"Database=testDB ; User Id = root; Password =password;Data source=10.10.10.107;Allow User Variables=True;";
MySql.Data.MySqlClient.MySqlConnection mySqlConn = new MySql.Data.MySqlClient.MySqlConnection();
mySqlConn.ConnectionString = mySqlConnString;
mySqlConn.Open();
MySql.Data.MySqlClient.MySqlCommand mySqlCmd = new MySql.Data.MySqlClient.MySqlCommand();
//declare @rowNumber as integer;
mySqlCmd.Connection = mySqlConn;
mySqlCmd.CommandText = "set @rowNum:=0; create temporary table T_729540255 as ( Select @rowNum:=ifnull(@rowNum,0)+1 as Temp_id, A.employee_id,A.employee_no From employee A)";
mySqlCmd.ExecuteNonQuery();
原文:http://blog.sina.com.cn/s/blog_6799cf9201019qb0.html