数据库表有内容搜索不出内容
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库表有内容搜索不出内容相关的知识,希望对你有一定的参考价值。
昨天最近在入库数据的时候,发现mysql在同一数据库下有两张表,用网站搜索内容的时候,只能出现一张表的结果(两张表里有同样的内容,正常可以搜索出来的)但是在MySQL命令行下检索就正常。
刚开始认为是编码、字段名、索引、导出的文件去除了BOM头(签名)等的错误,用Navicat查看测试,结果都排除了,奇怪!!!
又怀疑是不是入库时文本文件头有“杂乱”数据,在这个库上用TXT导出,在入库还是不行。又导出SQL脚本,在入库还是不行。更奇怪了!!!
百度、群里询问无果,一头雾水的一天过去。
今天,在反复测试的时候,无意间发现导出的TXT导入回去有问题,导出的SQL脚本,把SQL里的脚本语句删除,只留数据和TXT的文本一样时,导入数据后,数据就突然正常。
那会会是有问题数据连软件都没发现呢?
这是我觉得用十六进制去查看下到底有什么,用WinHex打开文件后,果然发现问题,红色箭头处。
经过分析,数据在第一次入库时候已经把BOM头入库了,之后你不管怎么导出,始终是有那个BOM头信息的,因为它在数据区,而正常的BOM在头部区,而文本编辑软件如“EmEditor”只会判断头部区是否有BOM,而不会判断数据区,所以软件在另存的时候没有发现这个问题。导致你怎么弄都会携带BOM头,而且入库时被当成数据入库,就造成数据检索问题。
那为什么导出的SQL就能正常呢?
因为他导出时候在数据区,而且BOM头前后都有正常的SQL语句,在SQL转成TXT时,“无意”中就把BOM头给删除了,所以后来导入就正常了。
这是MySQL数据库文件。
这是要入库的文件,一个是入库后表有问题,一个是入库后表能正常使用的。
本文出自 “悟透的杂货铺” 博客,请务必保留此出处http://wutou.blog.51cto.com/615096/1845686
以上是关于数据库表有内容搜索不出内容的主要内容,如果未能解决你的问题,请参考以下文章