gpt4 book ai didi

php - 将记录从一个数据库复制到另一个数据库时,自动增量无法正常工作

转载 作者:行者123 更新时间:2023-11-30 23:10:11 26 4
gpt4 key购买 nike

下面的 php 代码将一条记录从一个 (mysql) 数据库写入另一个数据库。在此复制操作之前,目标数据库(具有常量名称 CORP_DBNAME)的 AGREEMENTS 表是空的。两个表 AGREEMENTS 的“id”字段都是 AUTO_INCREMENT 类型。

复制操作有效,但不是 100% 正确:目标数据库表的 id 字段应为 1(我复制除 id 之外的所有字段的原因),但是 11 - id 的自动增量(10 ) 在原始数据库 (SUPPL_DBNAME) 中。例如,复制操作应该始终将记录添加到目标数据库中,并使用正确的递增 ID。为什么会发生这种情况以及如何解决这个问题?

简化的 php 代码:

$id = 10;

$corpdb = new CORPDatabase(CORP_DBNAME);
$suppldb = new CORPDatabase(SUPPL_DBNAME);

$sql = "INSERT INTO ".CORP_DBNAME.".AGREEMENTS ( otherpartyid, agreementdocumentpath, approvalcorporation, approvalsupplier, created ) "
. "SELECT otherpartyid, agreementdocumentpath, approvalcorporation, approvalsupplier, created FROM ".SUPPL_DBNAME.".AGREEMENTS "
. "WHERE ".SUPPL_DBNAME.".AGREEMENTS.id=".$id." ";

$corpdb->UpdateDBRecord($sql);

最佳答案

尝试:

ALTER TABLE AGREEMENTS AUTO_INCREMENT = 1

如果有问题的表完全是空的,你可以使用:

TRUNCATE TABLE AGREEMENTS;

在您要将数据导入其中的数据库上,AUTO_INCREMENT 应该返回到 1。最有可能发生的原因是您删除了行而不是截断表。

关于php - 将记录从一个数据库复制到另一个数据库时,自动增量无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20146331/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com