0

2921

mysql存储函数:创建自增ID

有时候,我们不想依赖MySQL数据表的主键“自增ID”来作为 “业务ID”

最简陋的方法是:单独数据表 + 函数(存储函数),下面简要说明操作步骤

1.创建生成多个表的序列号的数据维护表

CREATE TABLE seq (
name varchar(20) NOT NULL,
val int(10) UNSIGNED NOT NULL,
PRIMARY KEY  (name)
) ENGINE=InnoDB DEFAULT CHARSET=UTF8;

  

2.插入几条初始化数据

INSERT INTO seq VALUES('one',100);
INSERT INTO seq VALUES('two',1000);

  

3.创建函数以生成序列号

CREATE FUNCTION seq(seq_name char (20)) returns int
begin
 UPDATE seq SET val=last_insert_id(val+1) WHERE name=seq_name;
 RETURN last_insert_id();
end

   说明:MySQL中默认的语句结束符为分号(;)。存储过程中的SQL语句需要分号来 结束。为了避免冲突,首先用”DELIMITER &&“将MySQL的结束符设置为&&。最后再用”DELIMITER ;“来将结束符恢复成分号。这与创建触发器时是一样的。

……

乐果   发表于   2016 年 12 月 05 日 标签:mysql 继续阅读

0

2493

数据类型

笔记于2012-12-31, 百度空间。

现因百度空间封闭,故转载过来。

第一次了解“数据类型”这个概念,是学习javascript的时候。

js将数据分为两大类型:“基本类型”(或称“值类型”)和“引用类型”,二者的区别可以用一个经典的例子来说明:

……

乐果   发表于   2016 年 09 月 06 日 标签:JavaScriptPHPpython 继续阅读

0

2504

有所为,必有所不为

孟子曾说:“人有不为也,而后可以有为。”

自古圣贤就曾告诫我们,人要审时度势,决定取舍,选择重要的事情去做,而不做或暂时不做某些事情。 人的精力是有限的,只有放弃一些事情不做,才能在别的一些事情上做出成绩。

的确,有所为,必有所不为。我觉得非常有道理,对此我摘录了一位大师的感悟,不由的感同身受:

1、人的精力是有限的,有所为就必有所不为,而人与人之间的巨大区别就在于所为所不为的不同取向。

2、人活世上,有时难免要有求于人和违心做事。但是,我相信,一个人只要肯约束自己的贪欲,满足于过比较简单的生活,就可以把这些减少到最低限度。远离这些麻烦的交际和成功,实在算不得什么损失,反而受益无穷。我们因此获得了好心情和好光阴,可以把它们奉献给自己真正喜欢的人,真正感兴趣的事,而首先是奉献给自己。对于一个满足于过简单生活的人,生命的疆域是更加宽阔的。

……

乐果   发表于   2016 年 05 月 05 日 标签:随笔 继续阅读

0

5632

从阿里云RDS的mysql(master)同步到ECS中的mysql(slave)

1、下载二进制备份文件,解压:略

2、还原数据:

./innobackupex --defaults-file=/data/service/mysql/data/backup-my.cnf --apply-log /data/service/mysql/data

报错:

160408 13:49:57 innobackupex: Starting the apply-log operation

IMPORTANT: Please check that the apply-log run completes successfully.
           At the end of a successful apply-log run innobackupex
           prints "completed OK!".

./innobackupex version 2.3.4 based on MySQL server 5.6.24 Linux (x86_64) (revision id: e80c779)
xtrabackup: cd to /data/service/mysql/data
xtrabackup: This target seems to be not prepared yet.
xtrabackup: xtrabackup_logfile detected: size=2097152, start_lsn=(2113955558)
xtrabackup: using the following InnoDB configuration for recovery:
xtrabackup:   innodb_data_home_dir = ./
xtrabackup:   innodb_data_file_path = ibdata1:200M:autoextend
xtrabackup:   innodb_log_group_home_dir = ./
xtrabackup:   innodb_log_files_in_group = 1
xtrabackup:   innodb_log_file_size = 2097152
xtrabackup: using the following InnoDB configuration for recovery:
xtrabackup:   innodb_data_home_dir = ./
xtrabackup:   innodb_data_file_path = ibdata1:200M:autoextend
xtrabackup:   innodb_log_group_home_dir = ./
xtrabackup:   innodb_log_files_in_group = 1
xtrabackup:   innodb_log_file_size = 2097152
xtrabackup: Starting InnoDB instance for recovery.
xtrabackup: Using 104857600 bytes for buffer pool (set by --use-memory parameter)
InnoDB: Using atomics to ref count buffer pool pages
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use GCC atomic builtins
InnoDB: Memory barrier is not used
InnoDB: Compressed tables use zlib 1.2.3
InnoDB: Using CPU crc32 instructions
InnoDB: Initializing buffer pool, size = 100.0M
InnoDB: Completed initialization of buffer pool
InnoDB: Log file ./ib_logfile1 is of different size 50331648 bytes than other log files 2097152 bytes!
xtrabackup: innodb_init(): Error occured.

……

乐果   发表于   2016 年 04 月 08 日 标签:mysql 继续阅读

0

2437

一个大神开发者的使命感究竟应该是什么

“工作了五年的工程师,算不算高级开发者?归类开发者不是简单地看工作年限,因为经验这种东西千金难换但又一文不值。”

我们现在工作的行业很奇怪。明明每年都有新的从业人员涌入人才市场,但企业依旧诉苦自己迫切需要大量的开发。这种问题存在已久,而且已经越发严峻。

开发者这个行业非常年轻,也面临着很严重的人才短缺问题。大部分的软件开发项目无疾而终,原因是后期开支过于庞大。那些行业里的大佬是怎么建议我们的,他 们说「世界上永远存在解决问题的办法,但我们还是会遇到各种难题。因为除非我们真正去尝试解决,否则永远不知道哪种方法奏效。

认识一个现实吧,当你从事开发工作三年以上,就可以称呼自己为「高级开发者」。但实际上,有些人只是在这个位置上混三年,而他们只是虚有其表,水平严重不符合职位。

这确实是我对同行的评语。

……

乐果   发表于   2016 年 03 月 04 日 标签:文摘 继续阅读

较旧的文章 较新的文章
热评文章