标签: auto-increment

复合键中的auto_increment用法

我正在使用复合键的表

emp_tbl(
companyId int not null,
empId int not null auto_increment,
name varchar2,
....
...
primary key(companyId,empId)
);
Run Code Online (Sandbox Code Playgroud)

在mysql中,当我开始插入数据时发生了什么

Emp_tbl

companyId    empId
1             1
1             2
1             3
2             1
2             2
Run Code Online (Sandbox Code Playgroud)

请注意,当companyId更改时,auto_increament值将再次重置为1.我想禁用它.我的意思是我不想重置auto_increament.我期待这样的结果.

companyId    empId
1             1
1             2
1             3
2             4
2             5
Run Code Online (Sandbox Code Playgroud)

有可能吗?谢谢

mysql auto-increment

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

Oracle包中的自动增量

我试图在我的包装上使用自动增量而不使用触发器..有人可以解释我如何在我的包中使用它...我这样做没有工作它的抱怨abt变量未被声明或类型未分配..我看到了其他自动增量问题,但没有人使用自动增量没有触发包

 PROCEDURE insertExample   (  
user_id_in IN sample.seq_user_id.nextval,   
name_in IN sample.name%TYPE,     
age_in IN sample.age%TYPE   )   
IS    
BEGIN      
INSERT INTO sample    
 (seq_user_id.nextval, name, age)     
VALUES     
(user_id_in, name_in, age_in);    
END insertExample; 
Run Code Online (Sandbox Code Playgroud)

oracle package auto-increment

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

C++增量问题

假设我有一个控制某些角色移动的方法,如下所示:

void Player::moveRight( Uint32 ticks ) 
{ 
    if( speedx < maxspeed ) { speedx += accel; }
    x += speedx * ( ticks / 1000.f );
    //collision
    if( x > (float)( 800 - width ) ) { x = (float)( 800 - width ); }
}
Run Code Online (Sandbox Code Playgroud)

maxspeed = 300且accel = 2(此外,speedx从0开始)

现在这没有什么不妥,直到我在等式中加入恒定的减速/摩擦.基本上,我1从每帧的速度中减去一个恒定的减速度.如果角色没有移动就是如此,它们会逐渐停止.

问题是这样的:如果speedx = 299由于减速,我的if语句仍然是真的,并且它继续添加accel,这使得速度超过301,超过maxspeed.

什么是这个问题的一个好的解决方案,这将允许我有任何加速和减速值,而不是绊倒if语句?

c++ auto-increment

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

SQL查询将我的自动增量列(id)设置为零或重置自动增量字段的值

我想要一个可以将mysql数据库中的自动增量值设置为0的查询.

在我的情况下,我想要一个名为"id"的列重置为0.

mysql reset auto-increment

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

自动增量字符串

我正在尝试建立一个类别的分类列表,如下所示:

1 Category
  1.1 Children
  1.2 Children
      1.2.1 Children
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

$a = "1.1";
echo ++$a; // 2.1

$b = "1.1.1";
echo ++$b; // 1.1.2
Run Code Online (Sandbox Code Playgroud)

为什么$a递增到2.1,而不是1.2$b

php auto-increment

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

如何在Postgres中创建SQL Server的标识列的等效项

有一个应用程序使用MSSQL作为其后端.现在我正在开发代码,以便它可以使用PostgreSQL.我差不多完成了它,除了执行时有这个区别:

保存新应用程序时,

SQL Server代码:

create table tower 
(
  npages integer, 
  ifnds integer, 
  ifnid integer, 
  name varchar(20), 
  towid integer not null IDENTITY
)
Run Code Online (Sandbox Code Playgroud)

PostgreSQL代码:

create table tower 
(
  npages integer, 
  ifnds integer, 
  ifnid integer, 
  name varchar(20)
)
Run Code Online (Sandbox Code Playgroud)

为什么在通过PostgreSQL执行时不会自动生成towid字段(默认字段)?

任何可能的原因?触发器?程序?

sql postgresql auto-increment

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

奇怪的Mysql增量

Mysql是自动递增6。我不确定为什么或如何解决这些问题。

 create table new_table(tinyint unsigned primary key auto_increment, 
                        display_name varchar(50));
Run Code Online (Sandbox Code Playgroud)

我也用过

 create table new_table(int unsigned primary key auto_increment, 
                        display_name varchar(50));
Run Code Online (Sandbox Code Playgroud)

我认为我没有做任何奇怪的事情。

mysql primary-key create-table auto-increment

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

Laravel 5.5:清理/删除数据库数据(不是模式!)并使用种子器重置自动增量

我使用laravel创建PHPunit测试。对于每个测试,我都需要“重置”数据库,但是删除所有表并设置架构非常慢(在mysql上)-因此,我不想更改架构,而只删除DATA并重置每个表的AUTO-INCREMENT计数器。

我如何使用播种机做到这一点?

phpunit truncate auto-increment laravel laravel-seeding

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

重新生成丢失的身份值

如果事务块中的语句失败,有没有办法重新创建SQL Server表的标识值?

请仔细阅读以下代码:

DECLARE @IdentityTable AS TABLE (ID INT IDENTITY(1, 1), Description VARCHAR(50))

INSERT INTO @IdentityTable (Description) 
VALUES('Test1')

BEGIN TRY 
BEGIN TRANSACTION IdentityTest
    INSERT INTO @IdentityTable (Description) 
    VALUES('Test2')

    INSERT INTO @IdentityTable (Description) 
    VALUES(1/0)

    COMMIT TRANSACTION IdentityTest
END TRY
BEGIN CATCH
    ROLLBACK TRANSACTION IdentityTest
END CATCH

INSERT INTO @IdentityTable (Description) 
VALUES('Test4')

SELECT * FROM @IdentityTable
Run Code Online (Sandbox Code Playgroud)

结果

身份3号丢失归因于ROLLBACK TRANSACTION.有可能重新获得它吗?

sql sql-server auto-increment

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

Oracle SQL自动递增char

我正在使用Oracle SQL Developer构建数据库,我得到了一个带有city_id [PK]和city_name的城市表,我希望将city_id设置为一个字符,并且我的数据如下

|----------------------|
| CT01 | MEXICO CITY   | 
| CT02 | NEW YORK CITY |
| CT03 | LONDON        |
| CT04 | SYDNEY        |
|----------------------|
Run Code Online (Sandbox Code Playgroud)

此外,我想使我的主键具有自动递增功能,这意味着当我插入city_name时,city_id将增加1,在这种情况下,如果我插入“ HONG KONG”,则会自动设置city_id为“ CT05”。

我已经在网上进行了一些研究,发现使用触发器,但是它仅适用于数字类型数据。


另一个问题,当我创建一个表时,如果我的主键是一个数字,我想将其存储为这样的格式-> 000001我应该怎么做才能使数据看起来像这样?

谢谢。

sql oracle auto-increment oracle-sqldeveloper

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