PHP,MySQL,主键仍未改变两个记录



我已经有以下代码,如所见,我有两个插入语句,其中插入了两个记录 - 一个带有当前日期的记录,第二个记录是-1天。问题似乎与mysql_insert_id。我正在遵循以下错误:

重复的条目'28'for键'primary'

看来这两个语句的ID保持不变,并且第一个"插入"也不会添加任何麻烦,问题是在线尝试将第二个记录添加到同一表中。这是脚本:

<?
include("session.php");
include("database_common.php");
if (isset($campaignName) & isset($campaignRedirect))    {
    $dataTable = 'qrData_'.$_SESSION['displayName'];
    $statTable = 'qrStat_'.$_SESSION['displayName'];
    $query = mysql_query("INSERT INTO ".$dataTable." VALUES(".mysql_insert_id($connection).", '".$campaignRedirect."', '".$campaignName."');", $connection);
    $statBlank1 = mysql_query("INSERT INTO ".$statTable." VALUES(".mysql_insert_id($connection).", CURDATE() - INTERVAL 1 DAY, 0, '".$campaignName."');", $connection);
    $statBlank2 = mysql_query("INSERT INTO ".$statTable." VALUES(".mysql_insert_id($connection).", CURDATE(), 0, '".$campaignName."');", $connection);
    if ($statBlank1) echo "stat 1 ok";
    else echo mysql_error($connection);
    if ($statBlank2) echo "stat 1 ok";
    else echo mysql_error($connection);
    if ($query) die("<center>Kampaň úspešne vytvorená<br><br><button      onclick='parent.jQuery.fancybox.close();' name='submit' class='btn btn-primary'>Zatvoriť</button></center>");
    else die("<center>Vyskytla sa chyba. Prosím, zopakujte Vašu požiadavku.</center>"); 
}
?>

这是一个表结构:

`id` int(11) NOT NULL AUTO_INCREMENT,  
`date` date DEFAULT NULL,  `usageCount` int(11) DEFAULT NULL,  
`campaign` varchar(45) DEFAULT NULL,  PRIMARY KEY (`id`)

有什么建议?

好吧,我让它有点amish,但是它有效。我直接从MySQL获得了最后一个ID,并在下一个唱片中增加了1个:

$statBlank1 = mysql_query("INSERT INTO ".$statTable." VALUES(ID, CURDATE() - INTERVAL 1 DAY, 0, '".$campaignName."');");
$statBlank2 = mysql_query("INSERT INTO ".$statTable." VALUES(LAST_INSERT_ID() + 1, CURDATE(), 0, '".$campaignName."');", $connection);
第一个查询中的

ID不确定,但是表结构总是将null值更改为NOT NULL,在这种情况下,下一个增量值。希望有人会发现这有帮助。

mysqli_insert_id ..i.e中删除参数。仅写mysqli_insert_id。回声插入要插入的查询..您将获得值所插入的值。.使用mysqli_free_result每个插入查询

相关内容

  • 没有找到相关文章

最新更新