如何使用Mysql正确的处理财务数据

如何使用Mysql正确的处理财务数据,第1张

假设已经有一个用户表,每个用户有一个唯一ID。我们需要创建两张表,一张余额表,一张流水表:

CREATE TABLE `balance` ( `id` int NOT NULL AUTO_INCREMENT PRIMARY KEY, `user_id` int NOT NULL, `item` varchar(10) NOT NULL, `balance` decimal(20,2) NOT NULL) ENGINE=InnoDBCREATE TABLE `history` ( `id` int NOT NULL AUTO_INCREMENT PRIMARY KEY, `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `user_id` int NOT NULL, `item` varchar(10) NOT NULL, `amount` decimal(20,2) NOT NULL, `befor` decimal(20,2) NOT NULL, `after` decimal(20,2) NOT NULL, `business` varchar(30) NOT NULL, `business_id` varchar(100) NOT NULL, `detail` text) ENGINE=InnoDB

为了加快查询速度,另外为了有效利用 InnoDB 的行级锁,我们需要给两张表加上联合索引。另外,我们需要保证流水记录中 user_id, item, business, business_id 的组合是唯一的,避免重复更新数据

ALTER TABLE balance ADD INDEX `user_item_idx` (`user_id`, `item`)ALTER TABLE history ADD INDEX `user_item_idx` (`user_id`, `item`)ALTER TABLE history ADD UNIQUE update_unique (user_id, item, business, business_id)

mysql哪种数据引擎适合用于做财务明细表处理?为什么

这个 仔细说下吧MYSQL常用 两种

、MyISAM与InnoDB

前者 都可以进行一般的数据存储 但各有优势

简单不全面的说 前者 适合 少改写 少插入 的 读取频繁的表

后者 使用于 频繁维护的 update insert等 数据表

这俩 锁定方式也不同 锁表方式

一般泛用后者

以下是全套:EXCEL财务报表(带公式)的下载

全套EXCEL财务报表,包括适用于各行业的:凭证、总账、分类明细账(三拦和

有收入、支出、余额、应收款、应付款多栏)、科目账、T型账(丁字帐)、资产负债表(资产表)、利润表(损益表)、现金流量表、丁字帐(T型帐)、各行资产经营财务表格等等。带全套公式,只要把基本数据填写了,将自动生成汇总数据和相关数据,最大程度减少财务制表工作量。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8418555.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-16
下一篇 2023-04-16

发表评论

登录后才能评论

评论列表(0条)

保存