gpt4 book ai didi

php - 在 MySQL 中将大约 100 个值从一个表归档到另一个表的最佳方法?

转载 作者:行者123 更新时间:2023-11-29 02:00:25 25 4
gpt4 key购买 nike

我有一个表,其中包含大约 100 个帐户的余额(它是可变的)。每个帐户一个记录。余额不断更新,但我想找到每天存档当前余额的最佳方式。

我正在寻找最有效的方法。

表架构:

-- --------------------------------------------------------
--
-- Table structure for table `acc_bals`
--
-- Holds the tracks the balances of all coa's and bank accounts
CREATE TABLE IF NOT EXISTS `acc_bals` (
`id` INT(11) NOT NULL auto_increment,
`acc_type` TINYINT(4) NOT NULL comment '1 - coa; 2 - bank accounts',
`acc_id` SMALLINT(5) NOT NULL,
`acct_balance` VARBINARY(40) NOT NULL,
PRIMARY KEY (id)
) engine=InnoDB DEFAULT charset=utf8 auto_increment=1;

--
-- Table structure for table `balance_archive`
--
CREATE TABLE IF NOT EXISTS `balance_archive` (
`id` mediumint(6) unsigned NOT NULL AUTO_INCREMENT,
`date` date NOT NULL COMMENT 'Beginning of the day for which this value was archived for..',
`coa_id` smallint(4) unsigned NOT NULL COMMENT 'Foreign ID of COA.',
`bal` varbinary(27) NOT NULL COMMENT 'Archived COA balance at beginning of specified date.',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

varbinary 列的原因是因为余额已加密。

我最初想查询 acc_bals 并将所有帐户 ID 和值放入一个数组,解密这些值,然后运行第二个查询并为数组中的每个项目复制它进入存档表。

然后我想到我可能根本不需要解密这些值,这会节省大量处理,而且更进一步,是否可以在单个查询中完成此操作?

如果我的方法看起来正确,也许有人可以建议该查询的外观?

我正在使用 MySQL PDO。

最佳答案

简单的 select into 将在每天的重复事件集中完成。像这样的东西:

insert into balance_archive (date,coa_id,bal)
select now(),ab.id,ab.acct_balance
from acc_bals ab

这样你根本不需要使用 PHP,你可以只使用 MySql。

关于php - 在 MySQL 中将大约 100 个值从一个表归档到另一个表的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16393632/

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