1
我需要关于让我感到困惑的东西的指导。我有一个像99%的时间工作的MySQL插入查询,但在少数情况下,自动增量字段更新但行未插入。查询如下:mysql插入自动增量,但不插入行
$result = mysql_query("insert into receipts
values('','".$rcptno."','".$cid."','".$names."','".$stream."','".$pname."',
'".$fintot."','cr','".date('Y/m/d')."','".date('Ymd')."','1','".$username."','".
$sess."','".$refno."','".$prevbal."','".$newbal."')");
当我尝试再次插入相同的数据,它插入完美。我只想知道可能导致此问题的原因。
在此先感谢。
这很正常。即使实际记录没有写入磁盘,auto_increment也会增加。这种行为必须是这样的,否则MySQL将无法保证安全的并发访问。如果你想知道哪里出了问题(通常是死锁问题) - 使用'SHOW ENGINE INNODB STATUS;'并读取冗长的消息,看看导致MySQL拒绝将数据写入磁盘的原因。发生这种情况时,通常的做法是重新尝试交易。 – Mjh