一、引言在使用ORM框架时,一个表有一个主键是必须的,如果没有主键,就没有办法来唯一的更新一条记录。在Sql Server数据库和Mysql数据库设置自增长的主键是一件很轻松的事情,如果在Oracle数据库中设置自增长的主键是比较繁琐的。本文不讨论数据库里单表的自增长问题,探讨的是多表自增长唯一Id...
分类:
其他好文 时间:
2014-08-30 09:55:59
阅读次数:
243
前段时间在做一个SSH的项目,使用Oracle中的sequence作为对象表的主键生成策略,在数据库中已经配置好了sequence的步长为1,可是在运行测试时,发现主键ID每次增加的步长是50。 奇怪之余Google一下,找到如下的解决方案,在对实体类的ID进行注解时,加上一句"allocat...
分类:
数据库 时间:
2014-08-29 15:53:28
阅读次数:
198
题意:给出一个C表达式,计算其值。其中操作数只有26个字母,从a到z依次初始值为1到26;操作符有二位的 + 和二位的 - ,和正常意思一样,然后还有一位的自增 ++ 和一位的自减 - - ,都有前缀和后缀两种,都和正常理解的一样。然后计算表达式值,并给出式子中的各变量最后的值。对了,每个变量在表达式中最多只出现一次。
思路:题目最后也有给出思路,就是将所有一位操作符即自增和自减操作符去掉,再将...
分类:
其他好文 时间:
2014-08-29 14:43:08
阅读次数:
177
Sqlserver -- 如何修改设置主键的id可以手动更新?
#1 打开表的设计界面
#2 将主键id的is Identity的属性改成No
这样就可以通过Update语句来更新表的主键id了。
如何重新设置主键id的自增长开始值呢?
#1 命令:DBCC CHECKIDENT (tableName, reseed, 1000000)
#2 DBCC:
DBCC help...
分类:
其他好文 时间:
2014-08-28 14:53:49
阅读次数:
179
一、问:如果有一张表,里面有个字段为id的自增主键,当已经向表里面插入了10条数据之后,删除了id为8,9,10的数据,再把mysql重启,之后再插入一条数据,那么这条数据的id值应该是多少,是8,还是11? 答:如果表的类型为MyISAM,那么是11。如果表的类型为InnoDB,则id为8。 这是...
分类:
数据库 时间:
2014-08-28 14:42:39
阅读次数:
217
开始我以为必须设置成主键,因为一般只有id主键才是自增的,后来发现只要是Key就可以。 于是我试着把它设置成唯一约束,结果成功了。 CREATE TABLE testtable( ???? id varchar(50) NOT NULL, ???? ap...
分类:
数据库 时间:
2014-08-27 19:03:49
阅读次数:
328
和所有其他并发书籍一样这本书开头也是列举了自增运算符在多并发场景下的可能出现的错误。
原子性:
对于自增运算,现代的任何一个计算机都会把这个操作实现成三步:从内存加载数据到寄存器,增加寄存器中的数据,然后再把增加之后的数据写入到内存。
如果我们的计数器初始值是0的话,在正常情况下,当两个线程执行完成之后,我们会得到2。但是如果一个现在在另一个线程...
分类:
其他好文 时间:
2014-08-27 18:43:38
阅读次数:
272
一、表操作语法差异 在建表的时候,只有自增的语法不同。 主键(PRIMARY KEY)、外键(FOREIGN KEY)、非空(NOT NULL)、唯一(UNIQUE)、默认值(DEFAULT)都相同,自增实现的方式不同。 下面给出3种数据库通用的建表与初始化测试语句:CREATE TABLE ...
分类:
数据库 时间:
2014-08-26 21:08:06
阅读次数:
271
对数据库存储过程还不是很熟练,一时半会还写不出函数,所以就干脆用php写了个程序。
十几个数据库,每个库里都有几百张表,数据全部被清空了,但是表里的自增字段的值却还是保留着原表里的,要全部一次性的还原到初始值,若是一个表一个表的修改,不知道要改到猴年马月。
//..
分类:
数据库 时间:
2014-08-26 03:09:35
阅读次数:
219
VC2005利用SVN的版本号,生成DLL和EXE文件的版本号TortoiseSVN下有一个SubWCRev程序,可以获取任意个路径对应的SVN版本库的版本号。并替换到文件对应位置。VC2005的资源文件可以控制生成的二进制文件版本号。可以利用VC2005的生成前命令,调用SubWCRev来获取最新...
分类:
其他好文 时间:
2014-08-25 09:53:34
阅读次数:
219