簡體   English   中英

INSERT INTO語句,保留字作為列名

[英]INSERT INTO statement with reserved word as a column name

我有一個要插入新行的表(我沒有創建它)。 其中一列名為DEC ,這是SQL中的保留字。

我無法更改列名,因此我需要使我的插入語句可以使用它。 不過,我遇到了一些問題。 我已經嘗試過使用單引號,方括號和反引號,但是我無法擺脫

INSERT INTO語句中的語法錯誤。

我不斷得到(大概是因為我沒有正確地轉義DEC )。

這是我現在得到的插入語句:

INSERT INTO spaceObjectTable (spaceObjectName, RA, DEC) 
VALUES (spaceObjectName, RA, [DEC]);

編輯:現在使用此插入語句:

INSERT INTO spaceObjectTable (spaceObjectName, RA, [DEC]) VALUES ('spaceObjectName', 'RA', 'DEC');

並得到此錯誤: Operation must use an updateable query.

如果啟用了ANSI SQL模式,則可以使用雙引號,否則可以使用專有的反斜杠轉義。 (此答案涵蓋了在各種鍵盤布局上找到`字符的位置):

INSERT INTO spaceObjectTable (spaceObjectName, RA, "DEC") ...

要么:

INSERT INTO spaceObjectTable (spaceObjectName, RA, `DEC`) ...

如果是SQL Server,則應該類似

INSERT INTO spaceObjectTable 
(spaceObjectName, RA, [DEC]) 
VALUES 
('M-51', 13.5, 47.2);

假設為M-51(RA和偏角為近似值)。

關於您當前的錯誤消息:您正在使用表還是視圖? 您對此表有權限嗎?

編輯:GP告訴我們RA和DEC列的數據類型是字符串,所以

VALUES 
('M-51', '13h 29m 53s', '47deg 11.718min');

問題的編輯形式中使用的內容應該起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM