简单的php/mysql INSERT如
mysql_query("INSERT INTO dispatch VALUES('1234','$name','$address')");
间歇性失败。我已将其设置为在它发生时捕获,并使用重新填充的数据将用户放回表单,以便他们可以重试,但是一旦失败,它将永远不会插入。我试过重新建立连接,创建新连接,但我完全迷失了方向。有人有什么想法吗?
更新
DESCRIBE dispatch
的结果
ticketnum int(11) NO PRI auto_increment
callername tinyblob NO
callerphone tinyblob YES
request longblob YES
clientname tinyblob NO
callcounty varchar(30) YES
clientphone tinyblob YES
dispatcher varchar(30) NO
dispatched varchar(3) NO
rectime datetime NO
dispatchtime datetime YES
timetodispatch time YES
worker varchar(30) YES
restime datetime NO
timetores time NO
resolution varchar(120) NO
notes longblob YES
recordnum varchar(15) YES
dob date YES
编辑添加:
我找到了。我的第一个提示是 here .显然,MySQL 5.1.49 与 Debian(我使用的是 Ubuntu 服务器)结合时存在一些稳定性问题。在此提示之后进一步搜索描述了一些非常相似的情况。目前,我正在重新配置和安装 MySQL 5.0.51。希望这将有助于停止胡说八道 :)
感谢大家的帮助!
最佳答案
您是否使用与数据库的持久连接?也许问题在于与您的数据库的连接方法,而不是实际的 INSERT
语句。你检查过你的 MYSQL/SYS 日志了吗?
澄清一下,通常您的 MYSQL 日志位于 /var/log/mysql
或相关区域(此示例针对 linux debian 系统,因系统而异)。
这至少让你看到 IF 有任何 mysql 错误,即资源耗尽等;
关于php - 对 mysql 表的间歇性 INSERT 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4676061/