0 0

如何在插入一条记录后即得到主键ID(自动增量)的值?20

表temp_table
id U_name U_tel
1 zhang 123456
2 wang 123455
当我执行完:insert into temp_table(U_name,U_tel) values('li','123456')后就要得到这条记录的ID值为多少!?应该怎么做?
直接在这条语句后用id=rs("id"),而获得的值为空!
注:如果再重新查询一次,如用rs.movelast,个人认为这样可能会得到一个错误的(不对应的)ID


A的主键是B的外键,A的一条记录对应B的多条记录(数量不定)
为了保证A与B的一致性
在插入A的同时也要把对应的B的记录也全部插入 ,同时在B中要插入A的主键
2008年5月26日 16:38

2个答案 按时间排序 按投票排序

0 0

采纳的答案

在插入a前执行 select max(id)+1  from temp_table 来获得最大的ID即为新插入记录的ID

2008年5月27日 15:49
0 0

引用
在插入a前执行 select max(id) from temp_table 来获得最大的ID即为新插入记录的ID

加上同步,再插入之后执行select max(id) from temp_table

2008年5月27日 23:06

相关推荐

    oracle主键自动增长

    现在,我们尝试向这个表中插入一条记录: ```sql INSERT INTO smslog (userid, username, deptid) VALUES ('001', 'aaa', '1001'); ``` 由于我们已经定义了一个触发器,在插入这条记录的同时,`ID` 字段将自动被...

    Oracle建立自增主键

    - `FOR EACH ROW`:表示触发器将在每一条被插入的记录上单独执行。 - `SELECT seq_t_client_id.NEXTVAL INTO :new.id FROM dual;`:从`seq_t_client_id`序列中获取下一个值,并将其赋值给`:new.id`,其中`:new`表示...

    ETL,根据时间戳进行增量更新实例

    2. **唯一标识符和版本控制**:如果每条记录都有唯一的标识符,比如主键,我们可以通过比较旧数据集和新数据集中的这些ID来确定新增或更新的记录。同时,如果存在版本控制(例如,一个自增的序列号),也可以通过...

    create table(access环境下)自动编号类型的写法

    这意味着每当向表中添加一条新记录时,`id`字段将会自动获得一个新的编号。 #### 三、扩展示例 在实际应用中,我们还可以对自动编号的起始值和增量进行指定。例如: ```sql CREATE TABLE mytb ( id ...

    在hibernate中实现oracle的自动增长

    这样,每当需要为`DEPARTMENT`表插入新记录时,就可以调用序列的`NEXTVAL`函数获取下一个可用的序列值作为主键。 ### 在Hibernate中配置序列(sequence) 为了在Hibernate中利用Oracle的序列(sequence)特性,需要在...

    Auto-incremento-MySQL:自动增量式自动售货机

    在这个Python示例中,我们插入了一条新产品记录,但并未指定`id`字段的值。由于`id`字段是自动增量的,MySQL会自动为其分配一个新的唯一值。 标签“Python”表明这个主题可能涉及到如何使用Python与MySQL交互,实现...

    oracle中如何实现ID自增

    最后,我们可以尝试插入一条记录来验证是否成功实现了ID自增。 **示例命令:** ```sql INSERT INTO example (NAME, PHONE, ADDRESS) VALUES ('Cao', '56498543', 'Heibei'); ``` 通过上述步骤,我们就成功地在...

    【数据面试系列】MySQL高频面试题及知识要点.pdf

    - **主键(Primary Key)**:唯一标识一条记录。 - **外键(Foreign Key)**:引用另一个表的主键。 - **超键(Super Key)**:能够唯一标识一个实体集合中的每个实例的一个属性集。 - **候选键(Candidate Key)**:能够...

    得到自增列的下一个会插入的id

    在数据库管理中,自增列(Identity Column)是一种特殊的字段类型,它会在每次新记录插入时自动递增其值,通常用于创建主键或唯一标识符。标题中的“得到自增列的下一个会插入的id”指的是获取某个特定表中自增列的...

    SQL Server 不删除信息重新恢复自动编号列的序号的方法

    例如,如果初始设置是1,那么删除所有数据后,下一条记录的ID将是1。 ```sql TRUNCATE TABLE tablename; ``` 2. **DBCC CHECKIDENT命令**: 如果不想删除数据,但仍然需要调整Identity列的种子值,DBCC ...

    Access自动编号例程2004818133747983

    自动编号数据类型在Access中称为"AutoNumber",它会为每条新记录自动生成一个唯一的整数。有两种类型的自动编号:递增(Incremental)和随机(Random)。递增自动编号会按照1、2、3...的顺序增加,而随机自动编号则...

    重建数据库标识.rar

    在数据库管理中,每个表通常都有一个主键字段,它用于唯一标识每条记录。在很多情况下,这个主键是一个自动递增的整数,比如ID。当数据库中的数据被大量删除,特别是整个表的数据被清空后,我们可能会希望这个ID字段...

    oracle数据库如何创建自增列的技巧教程.docx

    - 这是一个 `BEFORE INSERT` 触发器,会在每条新记录插入 `userlogin` 表前执行。它从 `userlogin_seq` 序列中获取下一个值,并将这个值赋给新记录的 `id` 字段。 3. **测试插入记录** - 插入新记录时,无需显式...

    BBS数据库设计(sqlserver)

    1. `ID`字段使用了`identity(1,1)`,这意味着它是一个自动递增的整数字段,每次新插入一条记录时,ID值会自动加1,起始值为1,增量也为1。 2. `NOT NULL`约束确保`ID`字段不能为空,这是主键字段的基本要求。 3. `...

    Oracle 1z0-051

    一段时间后,想要通过添加 PRIMARY KEY 约束到 ORD_ID 列上来修改表。在这种情况下,哪个陈述是正确的? A. 不能在同一列上有两个约束。 B. 如果列中存在数据,则无法添加主键约束。 C. 只能在创建表时创建主键约束...

    identity用法总结

    比如我删除了 id=5 的数据,如果没有在 SET IDENTITY_INSERT TEST_SQL.DBO.STUDENT ON 及没有指定 id 这一列插入再次插入一条数据的时候,数据库是会自动标识 id=6 的。如果在这个时候需要强制 id 从 5 开始的话,...

    lightdata資料規格表1

    在MySQL中,主键通常是自动递增的,即每当插入新记录时,该字段的值会自动增加。这有助于确保每个记录的唯一性。 2. **data**:这是浮点数(Float)类型,用于存储亮度数据。浮点类型允许存储小数,适合表示连续...

    EF(EntityFramework) 插入或更新数据报错的解决方法

    这会使得每次插入新记录时,数据库自动为ID字段生成一个新的唯一值。 2. **SQL Server**:同样右键点击表,选择“设计表”,然后选中主键ID字段,双击“Is Identity”(是标识)的值,将其改为“是”。接着,设置...

    oracle job实例 测试通过

    在本示例中,`Seq_job_test_ID`序列被创建,其最小值为1,最大值为一个极大的数字(999999999999999999),起始值为1,增量为1,缓存大小为20,并且是有序的。这通常用于自动为表中的主键字段生成唯一值。 ### 2. ...

    net学习笔记及其他代码应用

    33.写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。 答:解1: select top 10 * from A where id not in (select top 30 id from A) 解2: select top 10 * ...

Global site tag (gtag.js) - Google Analytics