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)
会计科目编号,是一个良好的会计科目编号系统,必须要有一定的章法和合乎逻辑编号的每一“数码”,能够准确显示会计科目的内容、性质与意义,以及便于记忆与运用的要求。会计科目编号的具体方法:
如上所述,会计科目编号的理论方法不一,但限于篇幅,不能对各种方法详加论述。兹以被广为采用的数字编号法的“四位数字定位编号法”为例,说明其具体的编号方法如下:
概括的说,会计科目的编号,应与会计要素按五大类四个层级划分,设置会计科、子目,及一般认可的大类、项目排列方式相适应其基本要求及原则应属一致。
1、预定千、百、十、个四位数字,自左至右,分别代表大类(千)、项目(百)和科目(十、个),子目则以“N”予以表示而相关的附加或抵销科目,则以“—N”予以表示
2、以千位的1、2、3、4、5,分别顺序代表资产、负债、业主权益、收入及费用五大类
3、而以百位的1、2、……顺序代表大类之下,项目的分类及固定排列
4、每个项目之下的科目编号,则从01开始,至99为止其间复可分段编列不同内容、性质的科目。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)