mysql怎么查询错误 mysql查询dual

解决mysql查询,in条件参数为带逗号的字符串,查询结果错误

如有以下sql:

专注于为中小企业提供成都网站建设、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业资中免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

T1.limit_user 为account表中查询出来的值

‘9,8,4’

查询sql正确查询结果应为:

不可推荐 ,推销客户,推销客户

实际结果为:

不可推荐

原因:

在mysql中in里面如果是字符串的话,会自动转化成int类型的,内部使用了如下方法: CAST('4,3' AS INT)

导致’4,3‘ 变成了4,所以上述查询sql结果只有第一个。

解决方案

FIND_IN_SET('查询的值(如:1)', '使用逗号隔开的字符串集合,如:('1,2,3')')

正确的sql

MySQL查询information_schema.columns报错

1、DTS数据同步报错

2、源端用户user1拥有所有database的权限,包括select权限

3、使用user1用户登录源端MySQL,当指定database为database1,select被拒绝

4、从MySQL的物理表文件看,表的.frm和.ibd文件是正常的

5、将报错的表table1备份为table2,删除table1,select information_schema.columns、information_schema.tables可执行且不报错

6、将table2重命名为table1,select information_schema.columns、information_schema.tables再次报一样的错误

7、将table1重命名为table2,select information_schema.columns、information_schema.tables可执行且不报错

8、原因判断

参考:

其他用户也遇到了与MySQL对象相关的information_schema.columns、information_schema.tables的select报错,但是涉及的MySQL对象为view,而我们这里为table。

view可以指定definer等,而table1的创建语法中没有找到这样的字眼。但是推测以某一种方式与definer相关联。

9、辅证

如何查看mysql错误日志文件

我们经常在运行MySQL时会出一些错误,也经常被这些错误搞得晕头转向。当然解决这些问题的首要任务是找到日志信息。

MySQL的错误信息是在data目录下的,且文件名为hostname.err(hostname指的是主机名),但由于每个人安装的环境不一样,或你忘记了data目录的所在位置,你可以通过下面方法查找。

#hostname //获得主机名

hostname

#find / -name hostname.err

.....

#cd ...

#vi hostname.err


网页标题:mysql怎么查询错误 mysql查询dual
网站地址:http://myzitong.com/article/dddjppc.html