如何使用Mysql正确的处理财务数据假设已经有一个用户表mysql中流水怎么写入,每个用户有一个唯一ID 。mysql中流水怎么写入我们需要创建两张表mysql中流水怎么写入,一张余额表mysql中流水怎么写入 , 一张流水表:
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=InnoDB;CREATE 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);
如保生成流水账号?(在PHP MYSQL中)可以参考一下:
1.创建一个只有一个数据行的数据表,其值在将需要的时候更改 。
CREATE TABLE `tbl_id` (`id` INT UNSIGNED NOT NULL);
INSERT INTO `tbl_id` VALUES(0);
2.使用的时候
function geneId() {
mysql_query('UPDATE `tbl_id` SET `id`= LAST_INSERT_ID(id 1)');
$id = mysql_insert_id();
return $id
}
3.一般应用时id初始为一定位数,如100000
对前面需要补零的可以用mysql函数或php函数轻松实现 。推荐用php
例:生成前缀为时间,流水号为六位的id
function geneId() {
mysql_query('UPDATE `tbl_id` SET `id`= LAST_INSERT_ID(id 1)');
$id = mysql_insert_id();
$id = date('ymd').str_pad($id, 6, '0', STR_PAD_LEFT);
return $id;
}
4.可以不是每次加1,改LAST_INSERT_ID(id ???)的???,还可以是减!
5.多流水号生成
表里增加一个流水号标识字段就行了,这个就不多说了
6.当然可以用文件保存,轻松实现上面的效果
7.
谁能给写一下怎么在mysql数据库中读取和写入数据1、导入.sql文件命令:mysql USE 数据库名;mysql source d:/mysql.sql;
2、建立数据库:mysql CREATE DATABASE 库名;
3、建立数据表:mysql USE 库名;mysql CREATE TABLE 表名 (字段名 VARCHAR(20), 字段名 CHAR(1));
4、删除数据库:mysql DROP DATABASE 库名;
5、删除数据表:mysql DROP TABLE 表名;
6、将表中记录清空:mysql DELETE FROM 表名;
7、往表中插入记录:mysql INSERT INTO 表名 VALUES ("hyq","M");
8、更新表中数据:mysql- UPDATE 表名 SET 字段名1='a',字段名2='b' WHERE 字段名3='c';
9、用文本方式将数据装入数据表中:mysql load data local infile "d:/mysql.txt" into table 表名;
【mysql中流水怎么写入 怀孕前期在前壁中期会变后壁吗】mysql中流水怎么写入的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于怀孕前期在前壁中期会变后壁吗、mysql中流水怎么写入的信息别忘了在本站进行查找喔 。
推荐阅读
- 在钉钉直播中添加手机图片,钉钉直播中怎么上传图片
- 新闻asp.net,新闻周刊
- 怎么搞国外的服务器IP,有国外服务器怎么访问外网
- 国外静态ip代理,国内静态ip代理
- go语言性能优化的建议 go语言 缺点
- 目前最好的cpu是什么,amd目前最好的cpu是什么
- 华为鸿蒙系统销量好吗,现在华为鸿蒙系统怎么样
- 信息网站搭建咨询热线,信息网站建设
- c语言中主函数主要是 c语言中主函数有什么用