我正在使用mysql 5.7.21,Connector / Python 2.0.4,Python 3.6.3
我在我的python脚本中定义了一个表,
try
{
JSONArray jsonArray = new JSONArray("Your jsonString");
for (int i = 0; i < jsonArray.length(); i++) {
JSONArray jsonArray1 = jsonArray.getJSONArray(i);
for (int j = 0; j < jsonArray1.length(); j++) {
Log.i(" ROW " + i + " Col " + j, ": " + jsonArray1.get(j));
}
}
}
catch (JSONException e)
{
e.printStackTrace();
}
并在db中成功创建了它。
但是,当我尝试插入以下数据时
TABLES['report'] = (
"CREATE TABLE `report` ("
" `t` varchar(4) NOT NULL,"
" `s` varchar(50) NOT NULL,"
" `d` varchar(10) NOT NULL,"
" `v` int(12) NOT NULL,"
" `g` varchar(12) NOT NULL,"
" `q` varchar(12) NOT NULL,"
" PRIMARY KEY (`t`)"
") ENGINE=InnoDB")
进入表格
data= ('1111', 'xxxxxxxxxx-cc', 'AsOf20170630', '81785000', 'xxxx-cc', '2017Q2')
我收到了错误,
cursor.execute("INSERT INTO report (t, s, d, v, g, q) VALUES (%s, %s, %s, %s, %s, $s)", data)
答案 0 :(得分:0)
您可以尝试以下方法:
values
$s
上次%s
更改为'81785000'
如果这不起作用,你可以尝试改变
81785000
至int
,因为v为{{1}}
答案 1 :(得分:0)
试试这个:
cursor.execute(&#34; INSERT INTO报告(t,s,d,v,g,q)VALUES(%s,%s,%s,%s,%s,%s < / strong>)&#34;,数据)
最后的$ s应该替换为%s
在python $ s中,我认为处理字符串无效,因为您运行的查询是字符串。