Ste*_*hev 4 sql sql-server sql-server-2012
是否有可能只用一个这样的SQL语句创建索引(没有外键而不是唯一)和表(不是表变量).
CREATE TABLE tabind
(
id int identity(1,1) primary key ,
birthday datetime default getdate() ,
some_id int INDEX index_name, /*this line causes a sql server error*/
name nvarchar(100)
);
Run Code Online (Sandbox Code Playgroud)
实际上相当于这句话:
CREATE TABLE tabind
(
id int identity(1,1) primary key ,
birthday datetime default getdate() ,
some_id int ,
name nvarchar(100)
);
create index idx_tabind on tabind(some_id);
Run Code Online (Sandbox Code Playgroud)
我的SQL Server版本是2012.
谢谢.
不,在线索引声明仅限2014年.
这实际上创建了相同的索引.
CREATE TABLE tabind
(
id INT IDENTITY(1, 1) PRIMARY KEY,
birthday DATETIME DEFAULT GETDATE(),
some_id INT,
NAME NVARCHAR(100),
CONSTRAINT index_name UNIQUE (NAME, id)
);
Run Code Online (Sandbox Code Playgroud)
SQL Server 通过添加聚簇索引键(在您的情况下由PK隐式创建)静默地使非唯一非聚簇索引唯一