0
這是一個示例SQL用於解決此問題。 (實際的SQL比這個更復雜).NET MySqlCommand @佔位符與MySQL變量衝突
SET @HELLO = 1;
SELECT @HELLO;
正如你所看到的。 @HELLO
是一個MySQL變量,但.NET MySQLCommand將它看作是佔位符,而不是需要綁定值。無論如何,我可以使用MySQL的MySQL變量?
這是一個示例SQL用於解決此問題。 (實際的SQL比這個更復雜).NET MySqlCommand @佔位符與MySQL變量衝突
SET @HELLO = 1;
SELECT @HELLO;
正如你所看到的。 @HELLO
是一個MySQL變量,但.NET MySQLCommand將它看作是佔位符,而不是需要綁定值。無論如何,我可以使用MySQL的MySQL變量?
看一看下面MySql.Data.MySqlClient.MySqlException: Parameter ‘@id’ must be defined
這最後指出
,我發現,這的確是在.NET連接器的變化。 (我不知道什麼版本號,但從5.2.0開始將是我的 猜測)從連接器的版本5.2.2開始,您應該添加 允許用戶變量=真實連接字符串設置,以便 使用用戶在您的SQL語句中定義變量。連接字符串的
實施例:
Database=testdb;Data Source=localhost;User Id=root;Password=hello;Allow User Variables=True
添加 「允許用戶變量=真」 就像一個魅力。謝謝。 – invisal
我需要4分鐘才能將其作爲答案。 – invisal