1、数据库中存在数据N条2、通过 where a='162' 筛选此记录出错,出错如下
3、通过 where a like '162' 筛选此记录可以显示4、使用mysqlfront试图显示含有该记录列表时出现错误如下:
说明:只要不是此条数据,不会有任何问题。
我的mysql max_allowed_packet = 32M
3、通过 where a like '162' 筛选此记录可以显示4、使用mysqlfront试图显示含有该记录列表时出现错误如下:
说明:只要不是此条数据,不会有任何问题。
我的mysql max_allowed_packet = 32M
(教之初) 也是用MYSQL呀,我一直以为你是用MSSQL。
mysql最忠实的用户了
从来不用mssql
SQL语句是:SELECT * FROM ks_studentdata stucode = "31!36!32!"
我的MYSQL版本是:5.0.51b OCBC为:5.1.11看WWWWA有什么解决问题..
一般情况下应该是你的记录中有BLOB类型的字段,而mysqlfront应该是试图把这些信息全部取出。show create table ks_studentdata 贴出来看一下。或者不取BLOB字段时试一下
SELECT col1,col2,col3 FROM ks_studentdata stucode = "31!36!32!"
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 5.0.51b-community-nt MySQL Community Edition (GPL)Type 'help;' or '\h' for help. Type '\c' to clear the buffer.mysql> select * From jj.ks_studentdata where stucode="31!36!32!";
ERROR 2020 (HY000): Got packet bigger than 'max_allowed_packet' bytes
mysql>
+-------+----------+-----------+
| id | stuname | stuid |
+-------+----------+-----------+
| 22866 | 228CAC82 | 31!36!32! |
+-------+----------+-----------+
1 row in set (0.05 sec)
测试几行有结果,测试全部就会出错。
n_Qw!KtPCwuKO6Qw!Kwvq31joxLjAwILXDt9Y6MS4wMA==
n_RA!KtPCwuKO6Qg!Kwvq31joxLjAwILXDt9Y6MC4wMA==
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6MS4wMCC1w7fWOjAuMDA=n_DQoNCsL6t9Y6My4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6My4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6My4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6My4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6My4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6My4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6My4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6My4wMCC1w7fWOjAuMDA=
n_DQoNCsL6t9Y6My4wMCC1w7fWOjAuMDA=n_DQrC+rfWOjEuMDAgtcO31jowLjAw
n_DQrC+rfWOjEuMDAgtcO31jowLjAw
n_DQrC+rfWOjEuMDAgtcO31jowLjAw
n_DQrC+rfWOjEuMDAgtcO31jowLjAw
n_DQrC+rfWOjEuMDAgtcO31jowLjAw
n_DQrC+rfWOjEuMDAgtcO31jowLjAw
n_DQrC+rfWOjEuMDAgtcO31jowLjAw
n_DQrC+rfWOjEuMDAgtcO31jowLjAw
n_DQrC+rfWOjEuMDAgtcO31jowLjAw
n_DQrC+rfWOjEuMDAgtcO31jowLjAw
n_DQrC+rfWOjEuMDAgtcO31jowLjAw
n_DQrC+rfWOjEuMDAgtcO31jowLjAw
n_DQrC+rfWOjEuMDAgtcO31jowLjAwn_vfjI6yAwILTOo6zTw8qxIDAgw+sNCsL6t9Y6NS4wMCC1w7fWOjAuMDA=n_w7vT!LTtzvPD6Mr2DQrC+rfWOjUuMDAgtcO31jowLjAwn_w7vT!LTtzvPD6Mr2DQrC+rfWOjUuMDAgtcO31jowLjAwn_w7vT!LTtzvPD6Mr2DQrC+rfWOjUuMDAgtcO31jowLjAw
', 'n_DQq/vMn6v7y6xToxNjIgIA!Kv7zJ+tDVw/s6!Lu3!iAgDQrWpLz+us%6zoxNjINCsrUvu3D+7PGOrzGy+O7+tfbus/Eo8TisuLK1A!Kv7zK1Lv6SVA6MTkyLjkuMjAwLjY4DQq!8MziyrG85DoyMDEwLTExLTEwIDA4OjE2OjMzDQq9u77tyrG85DoyMDEwLTExLTEwIDA4OjM4OjEz', '', '', '', '', '', '', '', '', '', '',
不取blob是正常的,应该是blob字段的问题。
里面就剩有问题的那条记录了。
你可以直接 select lenght(blob_column) 看看数据是多长。
myisam,表肯定没坏,应该是字段内容有问题但问题是,现在找到了这个损坏的记录,可以删除或者怎样,但这要是几百万数据,有这么一个出问题的,那找也是件麻烦的事情。我想知道为什么会出这个问题,或者怎样避免出现这种问题,再或者出现这种问题如何来解决。
被我精简的没有你说的那个exe了,另外也没用过。
看来除了删除此条记录没有其它办法了。
mysql> USE EE;
Database changed
mysql> REPAIR TABLE mytable;
+------------+--------+----------+----------------------------------+
| Table | Op | Msg_type | Msg_text |
+------------+--------+----------+----------------------------------+
| ee.mytable | repair | Error | Table 'ee.mytable' doesn't exist |
| ee.mytable | repair | error | Corrupt |
+------------+--------+----------+----------------------------------+
2 rows in set (0.00 sec)mysql>
set session max_allowed_packet = 256*1024*1024;
select B.id,B.stuname,B.stuid from jj.ks_studentdata as B;
mysql>exitmysql =uroot -p
mysql>select B.id,B.stuname,B.stuid from jj.ks_studentdata as B;
不是表的问题,只要删了这条记录就没事下载地址:http://d.ksxt.net/err/mysqlblob.rar
因为导出不能成功,我只有把mysaql\data\xxxx下的表复制过来了。
里面就剩有问题的那条记录了。