![](/img/trans.png)
[英]how to fix 'sqlite3.OperationalError: near "?": ' error in python sqlite?
[英]How can I fix this sqlite3.OperationalError / sql syntax error?
我的sqllite数据库无法正常工作,并且我假设有一些错误与SQL语法有关。
import sqlite3
conn = sqlite3.connect("SONGS.db")
conn.execute("""CREATE TABLE SONGS
(ID INT PRIMARY KEY NOT NULL,
Song-Name TEXT NOT NULL,
Artist TEXT NOT NULL,
Released TEXT NOT NULL,
Views TEXT NOT NULL);""")
conn.close()
conn = sqlite3.connect("SONGS.db")
conn.execute("INSERT INTO SONGS (ID,Song-Name,Artist,Released,Views) \
VALUES (1, 'Counting Stars', 'OneRepublic', 'May 31, 2013', '2,458,427,299' )");
conn.execute("INSERT INTO SONGS (ID,Song-Name,Artist,Released,Views) \
VALUES (2, 'Waka Waka', 'Shakira', 'June 4, 2010', '2,052,927,789' )");
conn.execute("INSERT INTO SONGS (ID,Song-Name,Artist,Released,Views) \
VALUES (3, 'I Want It That Way', 'Backstreet Boys', 'October 25, 2009', '515.894,015' )");
conn.execute("INSERT INTO SONGS (ID,Song-Name,Artist,Released,Views) \
VALUES (4, 'Psycho', 'Post Malone', 'March 22, 2018', '400,195,600' )");
conn.execute("INSERT INTO SONGS (ID,Song-Name,Artist,Released,Views) \
VALUES (5, 'Till I Collapse', 'Eminem', 'September 16, 2015', '335,842,184' )");
conn.execute("INSERT INTO SONGS (ID,Song-Name,Artist,Released,Views) \
VALUES (6, 'These Days', 'Rudimental', 'January 25, 2018', '270,529,823' )");
conn.execute("INSERT INTO SONGS (ID,Song-Name,Artist,Released,Views) \
VALUES (7, 'Juice WRLD', 'Black & White', 'October 3, 2018', '5,268,766' )");
conn.execute("INSERT INTO SONGS (ID,Song-Name,Artist,Released,Views) \
VALUES (8, 'Shotgun', 'George Ezra', 'June 14, 2018', '18,291,200' )");
conn.commit()
conn.close()
有我的代码,这是错误
第25行,在Views TEXT NOT NULL);“”“)sqlite3.OperationalError:在”-“附近:语法错误
,此错误是由于数据库表中的一个名为View
的字段引起的
我认为你不需要;
对于conn.execute
语句。
因此error line 25, in Views TEXT NOT NULL
另一个建议,使用字符串替换:
insert = "INSERT INTO SONGS (ID,Song-Name,Artist,Released,Views) VALUES ({}, {}, {}, {}, {})"
当您插入时,请执行以下操作:
conn.execute(insert.format(1, 'Counting Stars', 'OneRepublic', 'May 31, 2013', '2,458,427,299'))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.