我需要将列添加到数据库中,并且每个第二列都没有名称,我想给它一个通用的“x”名称,但我得到sqlite3.OperationalError: duplicate column name: x
错误,
for meci in ech1:
c.execute("ALTER TABLE Aranjate ADD COLUMN "+ ech1[ii] +" INT")
c.execute("ALTER TABLE Aranjate ADD COLUMN x INT")
c.execute("ALTER TABLE Aranjate ADD COLUMN "+ ech2[ii] +" INT")
conn.commit()
ii = ii +1
我尝试将x
替换为x = str(ii)
,因此它不会具有相同的名称并将其作为变量插入:
c.execute("ALTER TABLE Aranjate ADD COLUMN " + x + " INT")
但我想sqlite不接受整数作为表名,因为我得到错误sqlite3.OperationalError: near "0": syntax error
其中0是第一个x
对我来说,如果这些列的名称相同,我将对此表执行的操作将其导出为csv文件,这对我来说不会有问题
答案 0 :(得分:1)
SQLite不允许列名相同,因为这样会破坏数据库的目的,每行的相同属性的数据都是矛盾的。
SQLite也不允许列名以数字开头,因此您不能将numpy==1.13.3
作为列名,但0one
没问题。但是,您可以在其周围添加括号以使其有效。
尝试:
zero1