项目场景:
好几年没写代码了,最近用C# ASP.net编一个展示数据的网站,用的Mysql数据库
问题描述
要查询的数据很多,但表里恰恰没有ID序号字段,所以通过在SQL文里增加用户变量,来增加序号(还有其他方法,随便选了一种我觉得简单的)
set @no=0;SELECT *,( @no:=@no+1) as no FROM table_aaaaa;
这个SQL文在单独在Mysql workbench里是能正常查询数据的。
但编在代码里执行时却报错了,
Fatal error encountered during command execution
挺懵的,为啥呢,网络有高手,编程需搜索。
原因分析:
主要用户,就出在为了增加一个数据条序号字段而采用了用户变量,而之前数据库连接套接字(或者叫连接字符串)没有相关处理,默认用户变量不使用。
解决方案:
解决办法很简单,就是在数据库套接字里增加允许用户变量,即“Allow User Variables=True”即可
server=*.*.*.*;UserName=*;password=**;database=***;charset=utf8;Allow User Variables=True;