不明白LAST_INSERT_ID()的请参考如下页面:
http://dev.mysql.com/doc/refman/5.1/zh/tutorial.html#example-auto-increment
不许答诸如"SELECT出最大值"之类的破答案,这样在多用户操作的时候很难保障是正确的.
今天中午12:00前能解决的答复加30分.
iphacker的答案不行,直接把SQLSERVER的联机手册贴上来了,这个解决不了问题吖.不过还是谢了.
我要的是和MySQL LAST_INSERT_ID()函数等价的函数,或者有没有其它等价的东西?
问题内部解决了:答案是
SELECT @@IDENTITY AS 'Identity'
SQLSERVER 中有没有和MySQL LAST_INSERT_ID()函数等价的函数?
答案:2 悬赏:40 手机版
解决时间 2021-04-09 19:02
- 提问者网友:轮囘Li巡影
- 2021-04-08 18:13
最佳答案
- 五星知识达人网友:孤独入客枕
- 2021-04-08 19:12
Transact-SQL 参考
IDENTITY(属性)
在表中创建一个标识列。该属性与 CREATE TABLE 及 ALTER TABLE Transact-SQL 语句一起使用。
说明 IDENTITY 属性与 SQL-DMO Identity 属性不同,后者表现列的行标识属性。
语法
IDENTITY [ ( seed , increment ) ]
参数
seed
装载到表中的第一个行所使用的值。
increment
增量值,该值被添加到前一个已装载的行的标识值上。
必须同时指定种子和增量,或者二者都不指定。如果二者都未指定,则取默认值 (1,1)。
注释
如果在经常进行删除操作的表中存在着标识列,那么在标识值之间可能会产生差距。如果这构成了问题,那么请不要使用 IDENTITY 属性。但是,为了确保未产生差距,或者为了弥补现有的差距,在用 SET IDENTITY_INSERT ON 显式地输入标识值之前,请先对现有的标识值进行计算。
如果重新使用已删除的标识值,那么请使用示例 B 中的示例代码进行检查,以获得下一个可用的标识值。请用您的表名、标识列数据类型以及(该数据类型的)最大可允许值的数值 –1 替换 tablename、column_type 和 max(column_type) – 1。
使用 DBCC CHECKIDENT 检查当前的标识值,并将其与标识列中的最大值进行比较。
当将 IDENTITY 属性与 CREATE TABLE 一起使用时,Microsoft® SQL Server™ 使用 CREATE TABLE 的 NOT FOR REPLICATION 选项替代标识列的自动增加。通常,SQL Server 给插入表中的每个新行指派一个值,该值比前面的最高值要大出某些增量。但是,如果新行是由另一个数据源复制过来的,那么标识值必须保持与其在数据源中完全相同。
示例
A. 将 IDENTITY 属性与 CREATE TABLE 一起使用
下面的示例创建一个新表,该表将 IDENTITY 属性用于获得自动增加的标识号。
USE pubs
IF EXISTS(SELECt TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
WHERe TABLE_NAME = 'new_employees')
DROP TABLE new_employees
GO
CREATE TABLE new_employees
(
id_num int IDENTITY(1,1),
fname varchar (20),
minit char(1),
lname varchar(30)
)
IDENTITY(属性)
在表中创建一个标识列。该属性与 CREATE TABLE 及 ALTER TABLE Transact-SQL 语句一起使用。
说明 IDENTITY 属性与 SQL-DMO Identity 属性不同,后者表现列的行标识属性。
语法
IDENTITY [ ( seed , increment ) ]
参数
seed
装载到表中的第一个行所使用的值。
increment
增量值,该值被添加到前一个已装载的行的标识值上。
必须同时指定种子和增量,或者二者都不指定。如果二者都未指定,则取默认值 (1,1)。
注释
如果在经常进行删除操作的表中存在着标识列,那么在标识值之间可能会产生差距。如果这构成了问题,那么请不要使用 IDENTITY 属性。但是,为了确保未产生差距,或者为了弥补现有的差距,在用 SET IDENTITY_INSERT ON 显式地输入标识值之前,请先对现有的标识值进行计算。
如果重新使用已删除的标识值,那么请使用示例 B 中的示例代码进行检查,以获得下一个可用的标识值。请用您的表名、标识列数据类型以及(该数据类型的)最大可允许值的数值 –1 替换 tablename、column_type 和 max(column_type) – 1。
使用 DBCC CHECKIDENT 检查当前的标识值,并将其与标识列中的最大值进行比较。
当将 IDENTITY 属性与 CREATE TABLE 一起使用时,Microsoft® SQL Server™ 使用 CREATE TABLE 的 NOT FOR REPLICATION 选项替代标识列的自动增加。通常,SQL Server 给插入表中的每个新行指派一个值,该值比前面的最高值要大出某些增量。但是,如果新行是由另一个数据源复制过来的,那么标识值必须保持与其在数据源中完全相同。
示例
A. 将 IDENTITY 属性与 CREATE TABLE 一起使用
下面的示例创建一个新表,该表将 IDENTITY 属性用于获得自动增加的标识号。
USE pubs
IF EXISTS(SELECt TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
WHERe TABLE_NAME = 'new_employees')
DROP TABLE new_employees
GO
CREATE TABLE new_employees
(
id_num int IDENTITY(1,1),
fname varchar (20),
minit char(1),
lname varchar(30)
)
全部回答
- 1楼网友:狂恋
- 2021-04-08 20:26
transact-sql 参考
identity(属性)
在表中创建一个标识列。该属性与 create table 及 alter table transact-sql 语句一起使用。
说明 identity 属性与 sql-dmo identity 属性不同,后者表现列的行标识属性。
语法
identity [ ( seed , increment ) ]
参数
seed
装载到表中的第一个行所使用的值。
increment
增量值,该值被添加到前一个已装载的行的标识值上。
必须同时指定种子和增量,或者二者都不指定。如果二者都未指定,则取默认值 (1,1)。
注释
如果在经常进行删除操作的表中存在着标识列,那么在标识值之间可能会产生差距。如果这构成了问题,那么请不要使用 identity 属性。但是,为了确保未产生差距,或者为了弥补现有的差距,在用 set identity_insert ...为了确保未产生差距,1)。
当将 identity 属性与 create table 一起使用时。通常。
示例
a,那么在标识值之间可能会产生差距、column_type 和 max(column_type) – 1,
fname varchar (20),1)。该属性与 create table 及 alter table transact-sql 语句一起使用,sql server 给插入表中的每个新行指派一个值、标识列数据类型以及(该数据类型的)最大可允许值的数值 –1 替换 tablename,则取默认值 (1,以获得下一个可用的标识值, increment ) ]
参数
seed
装载到表中的第一个行所使用的值;)
drop table new_employees
go
create table new_employees
(
id_num int identity(1transact-sql 参考
identity(属性)
在表中创建一个标识列,或者为了弥补现有的差距; 使用 create table 的 not for replication 选项替代标识列的自动增加。请用您的表名。但是,或者二者都不指定,那么请不要使用 identity 属性,该值比前面的最高值要大出某些增量。
注释
如果在经常进行删除操作的表中存在着标识列; sql server™.tables
where table_name = '. 将 identity 属性与 create table 一起使用
下面的示例创建一个新表,后者表现列的行标识属性,请先对现有的标识值进行计算。
语法
identity [ ( seed ,那么标识值必须保持与其在数据源中完全相同,那么请使用示例 b 中的示例代码进行检查。
必须同时指定种子和增量。但是。
如果重新使用已删除的标识值,如果新行是由另一个数据源复制过来的,并将其与标识列中的最大值进行比较。
use pubs
if exists(select table_name from information_schema。
increment
增量值,该值被添加到前一个已装载的行的标识值上。
说明 identity 属性与 sql-dmo identity 属性不同,在用 set identity_insert on 显式地输入标识值之前;new_employees'。如果二者都未指定,microsoft®,该表将 identity 属性用于获得自动增加的标识号。如果这构成了问题,
minit char(1)。
使用 dbcc checkident 检查当前的标识值
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯