如何通过 ADO.NET 使用 MySQL 用户变量
MySQL SQL 命令可以包含以“@”开头的用户变量。
MySQL ADO.NET 连接器还使用“@”作为命令参数。
有没有办法转义“@”字符,以便我可以在通过 ADO.NET 发送到 MySQL 的 SQL 语句中使用用户变量?
我正在尝试做这样的事情:
UPDATE company
SET next_job_id = @jobid:=next_job_id+1
WHERE company_id = @companyid;
SELECT @jobid;
其中@jobid是MySQL用户变量,@companyid是参数。
MySQL SQL commands can contain user variables that start with '@'.
The MySQL ADO.NET connector also uses '@' for command parameters.
Is there a way to escape the '@' character so I can use a user-variable in an SQL statement sent to MySQL via ADO.NET?
I'm trying to do something like this:
UPDATE company
SET next_job_id = @jobid:=next_job_id+1
WHERE company_id = @companyid;
SELECT @jobid;
Where @jobid is a MySQL user variable and @companyid is a parameter.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
它是一个连接字符串选项 - “Allow User Variables=true”
当设置为 true 时,参数以“?”为前缀。
更新:我已经写了更多相关内容,包括如何使其与 ADO.NET 和 Subsonic 一起使用。 请参见此处。
It's a connection string option - "Allow User Variables=true"
When set to true, parameters are prefixed with '?'.
Update: I've written up more on this, including how to get this to work with ADO.NET and Subsonic. See Here.