A int Unchecked (INDEX)
B nchar(10) Checked
MSSQL
INSERT INTO [TableName] (欄位1,欄位2) values(值1,值2) '新增資料 SELECT scope_identity() '傳回剛新增的自動編號資
INSERT INTO BB (B) VALUES ('AA') SELECT @@identity
INSERT INTO BB (B) VALUES ('AA') SELECT Scope_identity()兩者之間的差異在於 SCOPE_IDENTITY 和 @@IDENTITY 將傳回現行工作階段中任何資料表所產生的最後一個識別值,不過,SCOPE_IDENTITY 只會傳回現行範圍內的值,@@IDENTITY 並未限制特定範圍。
-- 建立資料表 CREATE TABLE [member] ( [uid] [int] IDENTITY(1,1) NOT NULL, [name] [nvarchar](50) NULL ) ON [PRIMARY] -- 新增一筆資料 INSERT INTO [member] VALUES ( 'Ian' ) -- 取得自動編號的值 SELECT SCOPE_IDENTITY()
MySQL
-- 建立資料表 CREATE TABLE member ( uid INT NOT NULL AUTO_INCREMENT, name VARCHAR( 50 ) NOT NULL, PRIMARY KEY ( uid ) ) -- 新增一筆資料 INSERT INTO member VALUES ( NULL , 'Ian' ) -- 取得自動編號的值 SELECT LAST_INSERT_ID()
Oracle
-- 建立資料表 CREATE TABLE "member" ( "uid" NUMBER, "name" NVARCHAR2(50) ); -- 建立 Sequence CREATE SEQUENCE "seq_member" MINVALUE 1 MAXVALUE 999999999 INCREMENT BY 1 START WITH 1 -- 新增一筆資料並利用 Sequence 自動產生編號 INSERT INTO member VALUES(seq_member.NEXTVAL,'Ian') -- 取得自動編號的值 SELECT seq_member.CURRVAL FROM DUAL