我對此很新。我創造了這個表,我沒有問題的話:SQL查詢 - 列名錯誤,但不是那樣
CREATE TABLE [dbo].[Urban_Rail] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[Country] VARCHAR (50) NOT NULL,
[City] VARCHAR (50) NOT NULL,
[Type] VARCHAR (50) NOT NULL,
[Gauge] NCHAR (10) NULL,
[Year] NCHAR (10) NULL,
[Status] VARCHAR (50) NULL,
[Notes] VARCHAR (500) NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
);
現在我試圖填補在使用此語句數據的幾千行:
INSERT INTO Urban_Rail ('Id','Country','City','Type','Gauge','Year','Status','Notes') VALUES ('','Algeria','Algiers','Metro','1435','2011','Open','');
INSERT INTO Urban_Rail ('Id','Country','City','Type','Gauge','Year','Status','Notes') VALUES ('','Algeria','Algiers','Tram','1435','2011','Open','');
INSERT INTO Urban_Rail ('Id','Country','City','Type','Gauge','Year','Status','Notes') VALUES ('','Algeria','Batna','Tram','','','Planned','');
但我得到的錯誤說,每列的名稱無效。這看起來不正確。我想知道它是否與Id有關,它是一個自動增量標識,我在查詢中沒有留下任何值。 我在這裏做錯了什麼?一些幫助將不勝感激。
Id是一個標識列,將它從您插入到的列列表中刪除。它會在您插入數據時自動填充。 – Taryn
感謝您的建議。我應該從雙方中刪除它嗎?我的意思是,像這樣:INSERT INTO Urban_Rail('Country','City','Type','Gauge','Year','Status','Notes')VALUES('Algeria','Algiers','Metro 」, '1435', '2011', '開', ''); – FeliceM
你也不應該用'''引用你的列名,而應該用數據庫引用表和列名的方式。在SQL Server中,通常是'[]'。 –