标签: auto-increment

Oracle和auto_increment/identity

在现代版本的Oracle中,是否有一些"标准"(存储过程,附加的CREATE语法等)方法来设置具有auto_increment/identity样式列的表,或者我们仍然无法手动创建表,创建序列,并创建触发器.

更新:我意识到Oracle没有auto_increment的概念.我感兴趣的是,如果任何标准Oracle工具已经自动化了序列和触发器的创建,或者如果DBA留下来创建所需的查询/命令来创建序列并触发它们自己.

oracle identity auto-increment

3
推荐指数
1
解决办法
4645
查看次数

在Rails中,如何为模型的新实例生成唯一的序列号?

在Rails中,我正在寻找一种方法来为内部记录生成一个自动递增的序列号,以保留模型的新实例.我想避免创建特定于数据库的代码,而是提供一个无论数据库如何都可以工作的解决方案.我目前的想法是等到模型被保存,然后获取已保存模型的ID并将其用作序列号的后缀,但是我必须在创建时保存每个记录两次.

有任何想法吗?

谢谢你的期待!

ruby-on-rails auto-increment ruby-on-rails-3

3
推荐指数
1
解决办法
4945
查看次数

修改AUTO_INCREMENT PRIMARY KEY进行分区

我需要在时态数据中对MySQL表进行分区(字段从下表开始).

CREATE TABLE `table1` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT, 
  `fk_id` bigint(20) NOT NULL,  
  `begin` bigint(20) NOT NULL,     
  PRIMARY KEY (`id`),
  KEY `FK1E57078DB20EC268` (`fk_id`)
) ENGINE=MyISAM AUTO_INCREMENT=10443288 DEFAULT CHARSET=latin1
Run Code Online (Sandbox Code Playgroud)

当我尝试像这样分区时:

alter table table1 partition by range (begin) (
PARTITION until_2010_07 VALUES LESS THAN (1280620800000),
PARTITION 2010_08 VALUES LESS THAN (1283299200000),
PARTITION 2010_09 VALUES LESS THAN (1285891200000),
PARTITION 2010_10 VALUES LESS THAN (1288569600000),
PARTITION 2010_11 VALUES LESS THAN (1291161600000),
PARTITION 2010_12 VALUES LESS THAN (1293840000000),
PARTITION from_2011 VALUES LESS THAN MAXVALUE …
Run Code Online (Sandbox Code Playgroud)

mysql partitioning primary-key auto-increment

3
推荐指数
1
解决办法
6359
查看次数

是否总是需要隐藏用户的mysql生成的id?

将实际ID(由数据库自动递增)显示给用户是否存在安全风险?你能举出一些人们可以用它做什么危险的实际例子吗?

php mysql security auto-increment

3
推荐指数
2
解决办法
453
查看次数

如何自动增加词典的键?

我在C#中申请.在我的应用程序中,我使用Dictionary以下结构:

Dictionary<int, string> DataDictionary1 = new Dictionary<int, string>();
Run Code Online (Sandbox Code Playgroud)

在这里,我希望字典中的键值应该是自动增量.为此,我使用逻辑:

 string header="ABC";
 int maxKey = DataDictionary1 .Max(x => x.Key);
 DataDictionary1 .Add(maxKey + 1, header);
Run Code Online (Sandbox Code Playgroud)

这是一种有效的方式,因为我想继续这种操作.有没有比这种方式更快的其他方式?

c# dictionary max auto-increment

3
推荐指数
1
解决办法
6063
查看次数

perl表达式中有任何副作用$ a = $ a ++;

将有人请解释下一个:

在"Programming Perl"一书中,postfix autoincrement operator被描述为

放置之后,它们($a--,$a++)在返回值后递增或递减变量.

因此,据我所知,$a++从未在虚空环境中使用,因为有人说过

他们增加或减少变量

但在下一个示例中,变量的值永远不会改变:

my $a = 3;
$a = $a++;
say $a; #always outputs 3
Run Code Online (Sandbox Code Playgroud)

所以我的假设是,当将值分配给同一个变量时,没有理由使用后自动递增,但是"编程Perl"中的定义应该被认为是错误的,因为运算符不会影响变量,而是变量中的值(至少在那个例子中).是对的吗?

提前欣赏.

perl auto-increment

3
推荐指数
2
解决办法
396
查看次数

如何在Teradata SQL中生成自动编号

我想生成自动编号以使用TD SQL,例如,如下所示,

CREATE MULTISET TABLE TEST_TABLE
(
  AUTO_NUMBER INT,
  NAME VARCHAR(10)
)
PRIMARY INDEX (AUTO_NUMBER);

INSERT INTO TEST_TABLE
VALUES('TOM');
INSERT INTO TEST_TABLE
VALUES('JIM');
INSERT INTO TEST_TABLE
VALUES('JAN');

SELECT * FROM TEST_TABLE;
Run Code Online (Sandbox Code Playgroud)

上面的结果是

1 TOM
2 JIM
3 JAN
Run Code Online (Sandbox Code Playgroud)

sql auto-increment teradata

3
推荐指数
1
解决办法
2万
查看次数

实体框架自动增加起始值

我有一个实体如下

[Table("ESS_POS_SE_VERSION")]
public class Version
{
    [Key, Column("DETAIL_ID"), DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    [Column("DETAIL_TITILE")]
    public string DetailKey { get; set; }

    [Column("DETAIL")]
    public string Detail { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

SO Id列是自动增量列,但我需要将其起始值设置为1000.我该怎么做?

entity-framework auto-increment entity-framework-6

3
推荐指数
1
解决办法
7043
查看次数

JPA或Hibernate生成(非主键)列值,而不是从1开始

我想要一个JPA/Hibernate(最好是JPA)注释,它可以生成一个列的值,它不是主键,也不是从1开始.

从我所看到的,JPA不能用@GeneratedValue和@SequenceGenerator以及@TableGenerator来做到这一点.或者其他任何东西.

我已经看到了一个带有额外桌子的解决方案,我觉得这不是很优雅.

我可以使用Hibernate注释,因为我已经有了hibernate注释.

我想使用@Generated,但我不能让它工作,人们声称它是可能的.

@Generated(GenerationTime.INSERT)
private long invoiceNumber;//invoice number
Run Code Online (Sandbox Code Playgroud)

更新:一个额外的要求,如果事务回滚,我们不能在编号上有差距.任何人?

java mysql hibernate jpa auto-increment

3
推荐指数
1
解决办法
1万
查看次数

为什么模型ID不总是Postgres/Django中的下一个递增数字?

Booking在Django中有一个模型,它的ID是idDjango创建的内置列.以下是它在Postgres中查看数据库级别的方式:

integer   not null default nextval('bookings_booking_id_seq'::regclass)
Run Code Online (Sandbox Code Playgroud)

客户今天已经打电话,担心这些数字似乎是连续的,但并不总是连续的.例如,序列如下:

..2, ..3, ..4, ..6, ..8, ..9
Run Code Online (Sandbox Code Playgroud)

他们担心系统正在丢弃或删除预订.在哪里..5..7?我们[实际上]记录了可以删除预订的所有内容,因此我非常有信心这不是系统问题.程序员的直觉也告诉我不要期望Auto-ID的连续性,但单凭直觉对于向客户解释是不够的.

是否存在技术原因Postgres在分配这些ID时会跳过数字?

django postgresql auto-increment

3
推荐指数
1
解决办法
410
查看次数