Python sqlite3.0错误:重复的列名:molecular

Python sqlite3.0错误:重复的列名:molecular,python,sqlite,Python,Sqlite,我想在sqlite数据库表中创建一列,可以在其中写入分数和文本值 c.execute("CREATE table MOLECULE(MOLECULE NUMBER INT, MOLECULE NAME TEXT, 'MOLECULAR FORMULA' TEXT )"); c.execute("INSERT INTO MOLECULE VALUES (1, 'WATER', 'H20')"); c.execute("INSERT INTO MOLECULE VALUES (2, 'X', '

我想在sqlite数据库表中创建一列,可以在其中写入分数和文本值

c.execute("CREATE table MOLECULE(MOLECULE NUMBER INT, MOLECULE NAME TEXT, 'MOLECULAR FORMULA' TEXT )");

c.execute("INSERT INTO MOLECULE VALUES (1, 'WATER', 'H20')");

c.execute("INSERT INTO MOLECULE VALUES (2, 'X', ' BaFe0.5Nb0.5O3')");

conn.commit()

我正在尝试使用字符串,它给了我错误:
sqlite3。操作错误:重复列名:molecular

您的
创建表
语句似乎是问题所在。定义列时不需要重复表名。尝试使用以下方法:

c.execute("CREATE table MOLECULE (NUMBER INT, NAME TEXT, \"MOLECULAR FORMULA\" TEXT)");

我还用转义双引号替换了
分子式
列中的单引号。双引号是SQLite中转义名称的标准方法。如果这不起作用,您可以尝试仅使用下划线作为分隔符,例如,
分子式
,它不需要任何转义。

检查您的表是否存在。现在它已创建了表,但不知道如何查看该表?您所看到的是什么意思?转到数据库客户端,列出所有表,或进行查询。问题现在已解决。它已创建了表分子,如何查看该表?如果表中没有数据,则没有可查看的内容。尝试执行
从分子中选择*。。。但同样,它可能是空的,除非您在c.execute(“SELECT*FROM MOLECULE”)中插入了data.for行;这里打印行syntex错误。我已经回答了您原来的问题。如果您需要查询原始SQLite表或通过Python进行查询的帮助,那么也许您应该问另一个问题。