create table ImagenesUsuario
{
idImagen int primary key not null IDENTITY
}
這不起作用。我怎樣才能做到這一點?將SQL標識創建爲主鍵?
create table ImagenesUsuario
{
idImagen int primary key not null IDENTITY
}
這不起作用。我怎樣才能做到這一點?將SQL標識創建爲主鍵?
句法簡單的變化是所有需要:
create table ImagenesUsuario (
idImagen int not null identity(1,1) primary key
)
通過明確地使用「約束」的關鍵字,你可以給主鍵約束特定的名稱,而不是依賴SQL Server來自動分配名稱:
create table ImagenesUsuario (
idImagen int not null identity(1,1) constraint pk_ImagenesUsario primary key
)
添加了「分組」的關鍵字是否是有根據您所使用的表格(最感即搜索的特定idImagen餘額和金額寫入速率超過聚類的好處表由其他索引)。
這與我們在團隊中產生的腳本類似。先創建表格,然後應用pk/fk和其他約束。
CREATE TABLE [dbo].[ImagenesUsuario] (
[idImagen] [int] IDENTITY (1, 1) NOT NULL
)
ALTER TABLE [dbo].[ImagenesUsuario] ADD
CONSTRAINT [PK_ImagenesUsuario] PRIMARY KEY CLUSTERED
(
[idImagen]
) ON [PRIMARY]
是否有任何理由避免在create table語句中創建主鍵? – 2009-08-31 06:15:14
我假設我們最初模仿由企業管理器等工具產生的腳本。它確實表明您正在創建主鍵約束(而不是列屬性)。它還允許您命名約束。最後,兩種方式都起作用,所以我猜這是一個優先選擇哪一個更容易閱讀/維護的問題。 – Mayo 2009-08-31 13:26:10
如果您使用T-SQL
,唯一你的代碼錯誤是,你用大括號{}
,而不是括號()
。
PS:IDENTITY
和PRIMARY KEY
暗示NOT NULL
,所以你可以省略,如果你願意。
未來,當你說「這不行」時,考慮解釋你的意思。它以某種方式默默地失敗?你有錯誤嗎?如果有的話,錯誤是什麼?你的電腦是否會自發燃燒?創建表格或將行插入表格時會失敗嗎? – 2009-08-31 00:54:41