如何在sqlite中添加具有相同名称的列

时间:2017-11-21 23:13:21

标签: python-3.x sqlite

我需要将列添加到数据库中,并且每个第二列都没有名称,我想给它一个通用的“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文件,这对我来说不会有问题

1 个答案:

答案 0 :(得分:1)

SQLite不允许列名相同,因为这样会破坏数据库的目的,每行的相同属性的数据都是矛盾的。

SQLite也不允许列名以数字开头,因此您不能将numpy==1.13.3作为列名,但0one没问题。但是,您可以在其周围添加括号以使其有效。

尝试:

zero1
相关问题