python-2.7 - sqlite3.OperationalError:“警告”附近:python 2.7 中 sqlite3 中的语法错误
问题描述
我在 Windows7 中使用 python 2.7。我想用 sqlite 语句格式化字符串。
conn = sqlite3.connect('Static_Analysis.db')
c = conn.cursor()
c.execute('''CREATE TABLE MAIN
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
Error_List CHAR(50),
Warning_List CHAR(50),
Advice_List CHAR(50),
Total CHAR(50),
Note CHAR(50));''')
c.execute('''CREATE TABLE ERROR_REPORT
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL);''')
c.execute('''CREATE TABLE WARNING_REPORT
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL);''')
c.execute('''CREATE TABLE ADVICE_REPORT
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL);''')
file = open("summary.log",'r')
p1 = re.compile(r"Error")
p2 = re.compile(r"Warning")
p3 = re.compile(r"Advice")
i = 1
m_i = 0
n_i = 0
p_i = 0
for line in file:
m = re.match(p1,line)
n = re.match(p2,line)
p = re.match(p3,line)
if m:
m_i = m_i + 1
str = line.split(":")
conn.execute("INSERT INTO MAIN (ID,NAME,Error_List,Note) VALUES (%s, %s,
%s, E%s)" % (i, str[1], m_i, m_i))
conn.execute("INSERT INTO ERROR_REPORT (ID,NAME) VALUES (%s, %s)" % (i,
str[-1]))
当我运行此代码创建表并将数据从文件插入表时发生错误:
conn.execute("INSERT INTO MAIN (ID,NAME,Error_List,Note) VALUES (%s, %s,
%s, E%s)" % (i, str[1], m_i, m_i))
sqlite3.OperationalError: near "Warnings": syntax error
我该如何解决这个错误?我看到其他人收到此错误,因为他在代码中使用了与 sqlite 中的单词相同的单词。但就我而言,我的代码中没有警告。
解决方案
推荐阅读
- python - 无法创建组(文件没有写入意图)
- python - 是否可以下载文件的特定部分?
- java - java.lang.ClassCastException: java.lang.String 无法转换为 java.lang.Long 错误
- javascript - 我可以按城镇限制谷歌地理编码器结果吗?
- http - 基本的http认证
- ios - Xcode Swift sprite-kit SKS 文件动画在 SKS 文件中正常工作,但在模拟器或 iPhone 上不起作用
- javascript - 将大写特殊字符转换为小写特殊字符的最简单方法是什么?
- reactjs - 如何使用 formik 形式在 react-datepicker 中获取选定日期?
- python - 通过代码上传图像时,Django媒体上传不起作用
- c# - 如何将控件类型作为参数传递?