我在使用python中的sqlite3将一行从一个表复制到另一个表时遇到问题(2.6.1不要问)。我可以指定一列,但如果我添加一列,则会给我一个错误。
import sqlite3
conn = sqlite3.connect("database.db")
cursor = conn.cursor()
#this works: cursor.execute("insert into table2 (name) select (name) from table1")
cursor.execute("insert into table2 (name, title) select (name, title) from table1") #this doesn't
conn.commit()
cursor.close()
结果:
sqlite3.OperationalError: near ",": syntax error
是什么给出的?我知道SQLite语法是正确的,但sqlite3不会接受它。请原谅我,如果以前曾经问过这个问题,逗号往往会过滤掉结果,所以很难搜索。
答案 0 :(得分:1)
select
之后你不应该有括号。它应该是:
insert into table2 (name, title) select name, title from table1