作者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/cn.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