pymysql 提交sql语句报错问题

来源:互联网 发布:雾霾防护口罩知乎 编辑:程序博客网 时间:2024/06/07 09:32

使用数据库插入时老是报错1054,而且还不是网上搜到的错误原因,经过测试多次才搞定,错误原因及改正如下:

原代码:

with conn:    cursor = conn.cursor()    for i in range(testnow.shape[0]):        dx, dy, oc, ot, x, y, house_id = testnow.iloc[i:i+1].values[0]        print ( house_id, dx, dy, oc, ot, x, y)        cursor.execute('insert into obj_infos (house_id, dx, dy, oc, ot, x, y) values ({}, {}, {}, {}, {}, {}, {})'.format(house_id,                                                                                                                           dx, dy,                                                                                                                            oc, ot,                                                                                                                           x, y))    cursor.close()

报错:

E:\Anaconda\lib\site-packages\pymysql\connections.py in check_error(self)    391             errno = self.read_uint16()    392             if DEBUG: print("errno =", errno)--> 393             err.raise_mysql_exception(self._data)    394     395     def dump(self):E:\Anaconda\lib\site-packages\pymysql\err.py in raise_mysql_exception(data)    105         errval = data[3:].decode('utf-8', 'replace')    106     errorclass = error_map.get(errno, InternalError)--> 107     raise errorclass(errno, errval)InternalError: (1054, "Unknown column '客厅' in 'field list'")

更改后:

with conn:    cursor = conn.cursor()    for i in range(testnow.shape[0]):        dx, dy, oc, ot, x, y, house_id = testnow.iloc[i:i+1].values[0]        print ( house_id, dx, dy, oc, ot, x, y)        cursor.execute('insert into obj_infos (house_id, dx, dy, oc, ot, x, y) values ("{}", "{}", "{}", "{}", "{}", "{}", "{}")'.format(house_id,                                                                                                                           dx, dy,                                                                                                                            oc, ot,                                                                                                                           x, y))    cursor.close()
原创粉丝点击