作者jasonhsu14 (14號星期五的傑森)
看板Database
標題[SQL ] column name有括號的操作
時間Sun May 3 21:05:55 2020
資料庫名稱:sqlite3
資料庫版本:
內容/問題描述:
各位前輩好,小弟欲處理 刪除table中的某部分column
但SQLite對ALTER TABLE的限制,所以我參考網路的教學方式
範例方式如下,假設table 為 t1 他有3個column a, b, c
而欲刪除c的方式為下
BEGIN TRANSACTION;
CREATE TEMPORARY TABLE t1_backup(a,b);
INSERT INTO t1_backup SELECT a,b FROM t1;
DROP TABLE t1;
CREATE TABLE t1(a,b);
INSERT INTO t1 SELECT a,b FROM t1_backup;
DROP TABLE t1_backup;
COMMIT;
但問題是,a欄的column name是含有()
因此會出現下列錯誤
Result: near "(": syntax error
但我如果上述程式碼都不考慮a,單純只有b,或其他沒有()者
就可以執行,唯獨有()的在執行就會出現上述錯誤..
因此想詢問有關 () 的處理方式
先謝謝各位
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.135.101.201 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Database/M.1588511157.A.377.html
1F:→ MOONY135: `(a,b)` 弄成文字看看? 但大概後面的人會靠北你這種欄位 05/04 00:00
2F:→ tedcat: 試試看加中括號 [a] 05/04 02:17
謝謝樓上兩位的意見
後來確實變成文字後就可以操作了,謝謝
※ 編輯: jasonhsu14 (211.22.64.151 臺灣), 05/04/2020 09:06:04