Python SQLite3插入

安格斯

插入值时出现错误。我的数据库有3列。在此初始化的一个自动增量整数:

connection.execute("CREATE TABLE IF NOT EXISTS {tn} ({nf1} {ft1} PRIMARY KEY AUTOINCREMENT)"\
    .format(tn = tableName, nf1 = "IDPK", ft1 = "INTEGER"))

和两个这样初始化的文本字段:

connection.execute("ALTER TABLE {tn} ADD COLUMN '{cn}' {ct}".format(tn = tableName, cn = "foo", ct = "TEXT"))
connection.execute("ALTER TABLE {tn} ADD COLUMN '{cn}' {ct}".format(tn = tableName, cn = "bar", ct = "TEXT"))

执行在这里:

connection.execute("INSERT INTO {tn} VALUES (NULL, {col1}, {col2})".format(tn = tableName, col1 = text1, col2 = text2))

引发的错误是:

sqlite3.OperationalError: no such column: "obfuscatedTextStringInText1"

我不明白为什么它认为列的名称在text1中。我将使用这种语法在第1列和第2列中插入值,因为自动增量功能使用NULL关键字。

奥尔登

应该有引号{col1}{col2}因为它们是作为文本值插入的。例如,当前正在像这样对它进行评估:

"INSERT INTO table_name VALUES (NULL, my text 1, my text 2)"

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章