.NET MySqlCommand @ 占位符与 MySQL 变量冲突
本文关键字:MySQL 变量 冲突 占位符 MySqlCommand NET | 更新日期: 2023-09-27 18:26:30
这是一个
示例 SQL,用于解决这个问题。(实际的SQL比这个更复杂(
SET @HELLO = 1;
SELECT @HELLO;
如您所见。 @HELLO
是一个MySQL变量,但.NET MySQLCommand将其视为一个占位符,而不是需要绑定值。无论如何我可以将MySQL变量与.NET一起使用吗?
请查看以下 MySql.Data.MySqlClient.MySqlException: 必须定义参数 '@id'
哪些州
最后,我发现这确实是 .Net 连接器中的更改。 (我不确定什么版本号,但从 5.2.0 开始将是我的 猜测(从连接器版本 5.2.2 开始,您应该添加 允许用户变量 = true 连接字符串设置,以便 在 SQL 语句中使用用户定义的变量。
连接字符串示例:
Database=testdb;Data Source=localhost;User Id=root;Password=hello;Allow User Variables=True