博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Identity列
阅读量:4695 次
发布时间:2019-06-09

本文共 1855 字,大约阅读时间需要 6 分钟。

经常会用到Identity标识列,这种自增长的字段操作起来的确是比较方便.

1 SQLAnywhere:表示取Identity列的SQL是:SELECT ◎◎IDENTITY 
2 SQL SERVER:表示取Identity列的SQL是:SELECT MAX(IDENTITYCOL) FROM + TableName 
3 DB2:表示取Identity列的SQL是:values(IDENTITY_VAL_LOCAL())//不要select,DB2专用 
4: Informix Serail:select first 1 dbinfo('sqlca.sqlerrd1') from systables 
5: Informix Serail8:select first 1 dbinfo('serial8') from systables 
6: teradata :相应的生成SELECT MAX(“实际存在的列名”) FROM TableName

一、SQL Server中:

1、创建表时指定标识列

标识列可用 IDENTITY 属性建立,因此在SQL Server中,又称标识列为具有IDENTITY属性的列或IDENTITY列。
下面的例子创建一个包含名为ID,类型为int,种子为1,递增量为1的标识列
CREATE TABLE T_test
(ID int IDENTITY(1,1),
Name varchar(50)
)

2、在现有表中添加标识列

下面的例子向表T_test中添加一个名为ID,类型为int,种子为1,递增量为1的标识列
--创建表
CREATE TABLE T_test
(Name varchar(50)
)

--插入数据

INSERT T_test(Name) VALUES('张三')

--增加标识列

ALTER TABLE T_test
ADD ID int IDENTITY(1,1)

3、判段一个表是否具有标识列

可以使用 OBJECTPROPERTY 函数确定一个表是否具有 IDENTITY(标识)列,用法:

Select OBJECTPROPERTY(OBJECT_ID('表名'),'TableHasIdentity')
如果有,则返回1,否则返回0

4、判断某列是否是标识列

可使用 COLUMNPROPERTY 函数确定 某列是否具有IDENTITY 属性,用法

SELECT COLUMNPROPERTY( OBJECT_ID('表名'),'列名','IsIdentity')
如果该列为标识列,则返回1,否则返回0

4、查询某表标识列的列名

SQL Server中没有现成的函数实现此功能,实现的SQL语句如下
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.columns
   WHERE TABLE_NAME='表名' AND COLUMNPROPERTY(      
      OBJECT_ID('表名'),COLUMN_NAME,'IsIdentity')=1

5、标识列的引用

如果在SQL语句中引用标识列,可用关键字IDENTITYCOL代替

例如,若要查询上例中ID等于1的行,
以下两条查询语句是等价的
SELECT * FROM T_test WHERE IDENTITYCOL=1
SELECT * FROM T_test WHERE ID=1

6、获取标识列的种子值

可使用函数IDENT_SEED,用法:

SELECT IDENT_SEED ('表名')

7、获取标识列的递增量

可使用函数IDENT_INCR ,用法:

SELECT IDENT_INCR('表名')

8、获取指定表中最后生成的标识值

可使用函数IDENT_CURRENT,用法:

SELECT IDENT_CURRENT('表名') 
注意事项:当包含标识列的表刚刚创建,为经过任何插入操作时,使用IDENT_CURRENT函数得到的值为标识列的种子值,这一点在开发数据库应用程序的时候尤其应该注意。

二、mysql

create table test

(
     id int auto_increment not null,
     name varchar(100) null,
     primary key(id)
)

 

转载于:https://www.cnblogs.com/duanxz/archive/2012/12/07/2807459.html

你可能感兴趣的文章
Odoo与浪潮合资研发PS Cloud之如何管理你不拥有的股票
查看>>
2017-2018-1 20155220 20155309 20155317 实验一 开发环境的熟悉
查看>>
SQL Plus使用简单介绍
查看>>
Javascript面向对象编程(二):构造函数的继承
查看>>
hdu 4462(状态压缩)
查看>>
我的linuxES
查看>>
FileReader文件读取API
查看>>
UVa 11300 Spreading the Wealth 分金币
查看>>
[leetcode] Happy Number
查看>>
Java第五周学习总结
查看>>
j.c.Warnsdorff马踏棋盘算法
查看>>
git私服
查看>>
the openning
查看>>
python 字符串 和 print
查看>>
MAC OS下安装Minizip
查看>>
Java_Certificates does not conform to algorithm constraints
查看>>
box-shadow
查看>>
字符串截取
查看>>
PAT 1027. Colors in Mars
查看>>
linux定时执行脚本
查看>>