我在MySQL中有一個很好的背景,但是我對SQL Server的來龍去脈很陌生。我將通過建立和求解在MySQL完全一樣的問題問我的問題:SQL Server自動遞增下一個INSERT查詢
創建表:
CREATE TABLE IF NOT EXISTS `example` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`stuff` VARCHAR(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
值插入表:
INSERT INTO `example` (
`id`, `stuff`
) VALUES (
NULL, 'Hello World'
) ;
通過執行上面的查詢,id
列將自動接收下一個可用的整數,作爲主鍵使用,而不涉及我的工作。
然而,插入一個行int
類型的SQL Server表時,嘗試了同樣的想法給了我這個錯誤:
Cannot insert the value NULL into column 'id', table 'database.user.example'; column does not allow nulls. INSERT fails. (severity 16) ...
什麼可以在SQL Server的INSERT
查詢中,將自動遞增的主像MySQL這樣的關鍵字具有NULL
的值嗎?
謝謝你的時間。
啊...不,我省略了。 MySQL語法以不同的方式處理該位。很高興知道這件事!有沒有一種方法可以讓表格將表中的數值「滑倒」,或者表格是否必須丟棄? –
沒關係......我可以創建一個新列並刪除舊列。很好的答案! –