我討厭發佈語法相關問題,但說實話,我只是沒有太多經驗來編寫原始SQL語句。如果這是一個簡單的問題,我很抱歉。我有一張有幾百個條目的表格,表格的創建者忘記了將ID列指定爲主鍵,並且忘記設置標識約束。所以,我需要刪除舊的ID列並創建一個新的ID列,並將其設置爲主鍵和標識列。我知道我可以使用SSMS手動修改表,但是我需要編寫一個腳本,我可以將它傳遞給我的客戶端,因爲他們已經在生產該數據庫,並且需要爲多個不同的表進行此更改。該腳本看起來是這樣的:刪除/添加包含主鍵的列 - SQL語法錯誤
ALTER TABLE tblName
DROP COLUMN Table_ID
ADD Table_ID int PRIMARY KEY IDENTITY(1,1) NOT NULL
當我執行上面的查詢,我得到以下信息:
Msg 102, Level 15, State 1, Line 3
Incorrect syntax near 'Table_ID'.
誰能告訴我,我缺少的是什麼?
這很好,但失去了你已經有的值領域。如果你有子表,這是不合適的,因爲你完全吹響了數據的完整性。對這種方法要非常小心。如果您使用生產數據將它發送給客戶,我不會推薦它。價值是如何設定的? – HLGEM
在這種情況下,我正在設計一個可怕的數據庫。主鍵,外鍵或類似的東西沒有添加約束。所有表格都通過名稱字段相互引用。在提出這個問題的時候,我認爲數據庫處於中間階段,ID列的價值不大。但是您的權利......在設計合理的數據庫中,這種說法可能會導致很多問題。 –
我沒有讓你失望,我只是想警告其他人稍後閱讀,這樣做有潛在的問題。 – HLGEM