标签: auto-increment

SQL Server,如何在创建没有数据丢失的表后设置自动增量?

table1在SQL Server 2008中有一个表,它有记录.

我希望主键table1_Sno列是自动递增列.这可以在没有任何数据传输或克隆表的情况下完成吗?

我知道我可以使用ALTER TABLE添加自动增量列,但是我可以简单地将AUTO_INCREMENT选项添加到作为主键的现有列吗?

sql-server identity auto-increment sql-server-2008

48
推荐指数
2
解决办法
13万
查看次数

"++"和"+ = 1"运算符之间有什么区别?

在C++的循环中,我经常遇到要使用的情况,++或者+=1我无法区分它们.例如,如果我有一个整数

int num = 0;
Run Code Online (Sandbox Code Playgroud)

然后在循环中我做:

num ++;
Run Code Online (Sandbox Code Playgroud)

要么

num += 1;
Run Code Online (Sandbox Code Playgroud)

他们都增加了价值num,但他们的区别是什么?我怀疑num++可以比工作更快num+=1,但如何?这种差异是否足以被忽视?

c++ integer loops increment auto-increment

45
推荐指数
4
解决办法
4万
查看次数

SQLite自动增量 - 如何插入值?

我生成一个SQLite表(在java中):

create table participants (ROWID INTEGER PRIMARY KEY AUTOINCREMENT, col1,col2);
Run Code Online (Sandbox Code Playgroud)

之后我尝试使用INSERT命令添加行:

insert into participants values ("bla","blub");
Run Code Online (Sandbox Code Playgroud)

我收到错误:

java.sql.SQLException: table participants has 3 columns but 2 values were supplied
Run Code Online (Sandbox Code Playgroud)

我以为行ID会自动生成,但似乎我错过了任何东西.


我试过另一个解决方案

PreparedStatement prep = conn.prepareStatement("insert into participants values (?,?,?);");
Integer n = null;
prep.setInt(1,n);
prep.setString(2, "bla");
prep.setString(3, "blub");
prep.addBatch();
prep.executeBatch();
Run Code Online (Sandbox Code Playgroud)

结果我收到了"prep.setInt(1,n);"的空指针异常.

你看到了错吗?

java sqlite auto-increment

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

为什么MySQL自动增量会因失败的插入而增加?

一位同事让我意识到一个非常奇怪的MySQL行为.

假设您有一个包含auto_increment字段的表和另一个设置为唯一的字段(例如用户名字段).当尝试插入具有已存在于表中的用户名的行时,插入失败,如预期的那样.但是,在多次尝试失败后插入有效的新条目时,可以看到auto_increment值增加.

例如,当我们的最后一个条目看起来像这样......

ID: 10
Username: myname
Run Code Online (Sandbox Code Playgroud)

...我们在下一次插入时尝试五个具有相同用户名值的新条目,我们将创建一个新行,如下所示:

ID: 16
Username: mynewname
Run Code Online (Sandbox Code Playgroud)

虽然这本身并不是一个大问题,但似乎是一个非常愚蠢的攻击向量,通过使用失败的插入请求充斥它来杀死表,正如MySQL参考手册所述:

"如果值大于可以存储在指定整数类型中的最大整数,则不会定义自动增量机制的行为."

这是预期的行为吗?

mysql innodb auto-increment

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

MySQL:bigint Vs int

我一直在使用INT(10),并只注意到WordPress使用BIGINT(20) - 所不同的是使用的ID自动递增BIGINT(20)和int(10)?我应该将哪一个用于id列?

`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
Run Code Online (Sandbox Code Playgroud)

VS

`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
Run Code Online (Sandbox Code Playgroud)

谢谢.

mysql int database-design biginteger auto-increment

43
推荐指数
2
解决办法
5万
查看次数

PHP MYSQL - 不使用列名但使用autoincrement字段插入

我需要在MySQL表中插入一个包含32个字段的长行.

我想做这样的事情:

$sql="insert into tblname values (... 32 fields ...)";
Run Code Online (Sandbox Code Playgroud)

显然,如果字段与MySQL表字段的顺序相同,则它可以正常工作.但是,我的表有一个自动增量ID,因为它是第一个字段.

我想要的是填写所有表名,但第一个(id).

建议?

php mysql auto-increment

42
推荐指数
2
解决办法
4万
查看次数

Java中的"自动增量"字母表?

Java中的"自动增量"字母 - 这可能吗?从A到Z没有第三方库?

java auto-increment

41
推荐指数
4
解决办法
9万
查看次数

SQL Server标识列值从0开始,而不是1

我有一个奇怪的情况,我的数据库中的一些表从0开始其ID,即使TABLE CREATE具有IDENTITY(1,1).某些表格是这样,但其他表格则不然.它一直工作到今天.

我已经尝试重置标识列:

DBCC CHECKIDENT (SyncSession, reseed, 0);
Run Code Online (Sandbox Code Playgroud)

但是新的记录从0开始.我已经尝试过为所有表做这个,但有些仍然从0开始,有些从1开始.

有什么指针吗?

(我正在使用带有高级服务的SQL Server Express 2005)

sql t-sql identity sql-server-2005 auto-increment

40
推荐指数
2
解决办法
5万
查看次数

我应该在MongoDB中实现自动递增吗?

我正在从MySQL切换到MongoDB.对于一个非常基本的users表,我熟悉的架构将自动递增uid.有关此用例,请参阅Mongo自己的文档.

我想知道这是否是最好的建筑决策.从UX的角度来看,我喜欢将UID作为外部引用,例如在较短的URL中:http://example.com/users/12345

还有第三种方式吗?IRC Freenode的某人#mongodb建议创建一系列ID并缓存它们.我不确定如何实际实现它,或者是否还有其他路线我可以去.我甚_id至不需要以这种方式增加自身.只要文档中users都有唯一的数字uid,我会很高兴.

uuid auto-increment mongodb

40
推荐指数
5
解决办法
2万
查看次数

MySQL:在select语句中自动增加临时列

如何使用MySQL在select语句中创建和自动增加临时列?

这是我到目前为止:

SET @cnt = 0;
SELECT
    (@cnt =@cnt + 1) AS rowNumber,
    rowID
FROM myTable
WHERE CategoryID = 1
Run Code Online (Sandbox Code Playgroud)

哪个回报:

+++++++++++++++++++++
+ rowNumber | rowID +
+++++++++++++++++++++
+  (NULL)   |   1   +
+  (NULL)   |   25  +
+  (NULL)   |   33  +
+  (NULL)   |   150 +
+  (NULL)   |   219 +
+++++++++++++++++++++
Run Code Online (Sandbox Code Playgroud)

但是我需要:

+++++++++++++++++++++
+ rowNumber | rowID +
+++++++++++++++++++++
+  1        |   1   +
+  2        |   25  +
+  3        |   33  +
+  4        | …
Run Code Online (Sandbox Code Playgroud)

mysql temporary auto-increment

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