在执行这样一段php语句的时候报错transaction abort for($j=0;$j<count($selectscriptresult);$j++){
$scriptid=$selectscriptresult[$j]['id'];
$wats_id=$productName.'_sc_'.$scriptid;
$updateidsql="update `script` set wats_script_id='$wats_id' where id=$scriptid";
$insertscriptmodel->query($updateidsql);
} 就是根据本条记录的一个字段的内容修改另外一个字段的内容,语句本身应该是没有问题的
记录数大概有1700个,执行到大概1130条的时候报错我用的是本地wamp搭建出的mysql,是不是需要修改某个配置?
my.ini中有这条信息:不知道是否有关系#innodb_lock_wait_timeout = 50
请高人解答,谢谢
$scriptid=$selectscriptresult[$j]['id'];
$wats_id=$productName.'_sc_'.$scriptid;
$updateidsql="update `script` set wats_script_id='$wats_id' where id=$scriptid";
$insertscriptmodel->query($updateidsql);
} 就是根据本条记录的一个字段的内容修改另外一个字段的内容,语句本身应该是没有问题的
记录数大概有1700个,执行到大概1130条的时候报错我用的是本地wamp搭建出的mysql,是不是需要修改某个配置?
my.ini中有这条信息:不知道是否有关系#innodb_lock_wait_timeout = 50
请高人解答,谢谢
mysql.log里面一点有用的信息都没有,我再试试
有没有人给提示一下这个问题啊?
版主,并不是我没看啊,我的my.ini中指定了log文件
log-error=c:/wamp/logs/mysql.log
我查看了mysql.log,确实没有任何跟这个错误相关的内容啊。我把这个文件全清了,然后mysql重启,复现问题,得到的全部log就是110310 13:34:57 [Note] wampmysqld: Normal shutdown110310 13:34:57 [Note] Event Scheduler: Purging the queue. 0 events
110310 13:34:57 InnoDB: Starting shutdown...
110310 13:34:59 InnoDB: Shutdown completed; log sequence number 0 49771357
110310 13:34:59 [Warning] Forcing shutdown of 1 plugins
110310 13:34:59 [Note] wampmysqld: Shutdown complete110310 13:35:29 [Note] Plugin 'FEDERATED' is disabled.
110310 13:35:29 InnoDB: Started; log sequence number 0 49771357
110310 13:35:30 [Note] Event Scheduler: Loaded 0 events
110310 13:35:30 [Note] wampmysqld: ready for connections.
Version: '5.1.36-community-log' socket: '' port: 3306 MySQL Community Server (GPL)
my。ini中的【mysqld】中加入
max_allowed_packet = 64M
试试
报错很简单,就是
server reported:-1 transaction abortedmysql没有死,还能正常运行
我怀疑是有什么配置文件有限制,那段php的意思就是查找符合要求的记录,修改其中的一个字段。大概共需要修改1700条记录,修改到1100多条的时候报错
建议在你的PHP程序中添加扑获错误的语句
测试了一下,还真不是sql的错误,我把报错时应该执行的语句重新手工执行,是正确的。
这个transaction abort是extjs报出来的,是因为通信错误造成的,貌似是那一瞬间,mysql连接有问题。
有什么mysql的配置可以对这个起作用吗?我改改试试。