Duplicate entry '0' for key 'PRIMARY'
来源:14-12 获取和解析详情页 - 1

weixin_慕斯卡4281563
2020-05-20
看到 7-11 节 13:10时 运行
C:\Users\WenLiang\Envs\spider\lib\site-packages\pymysql\cursors.py:170: Warning: (1364, "Field 'id' doesn't have a default value")
result = self._query(query)
C:\Users\WenLiang\Envs\spider\lib\site-packages\pymysql\cursors.py:170: Warning: (1364, "Field 'title' doesn't have a default value")
result = self._query(query)
C:\Users\WenLiang\Envs\spider\lib\site-packages\pymysql\cursors.py:170: Warning: (1364, "Field 'author' doesn't have a default value")
result = self._query(query)
C:\Users\WenLiang\Envs\spider\lib\site-packages\pymysql\cursors.py:170: Warning: (1364, "Field 'create_time' doesn't have a default value")
result = self._query(query)
C:\Users\WenLiang\Envs\spider\lib\site-packages\pymysql\cursors.py:170: Warning: (1364, "Field 'status' doesn't have a default value")
result = self._query(query)
C:\Users\WenLiang\Envs\spider\lib\site-packages\pymysql\cursors.py:170: Warning: (1364, "Field 'last_answer_time' doesn't have a default value")
result = self._query(query)
Traceback (most recent call last):
File "C:\Users\WenLiang\Envs\spider\lib\site-packages\peewee.py", line 3099, in execute_sql
cursor.execute(sql, params or ())
File "C:\Users\WenLiang\Envs\spider\lib\site-packages\pymysql\cursors.py", line 170, in execute
result = self._query(query)
File "C:\Users\WenLiang\Envs\spider\lib\site-packages\pymysql\cursors.py", line 328, in _query
conn.query(q)
File "C:\Users\WenLiang\Envs\spider\lib\site-packages\pymysql\connections.py", line 517, in query
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
File "C:\Users\WenLiang\Envs\spider\lib\site-packages\pymysql\connections.py", line 732, in _read_query_result
result.read()
File "C:\Users\WenLiang\Envs\spider\lib\site-packages\pymysql\connections.py", line 1075, in read
first_packet = self.connection._read_packet()
File "C:\Users\WenLiang\Envs\spider\lib\site-packages\pymysql\connections.py", line 684, in _read_packet
packet.check_error()
File "C:\Users\WenLiang\Envs\spider\lib\site-packages\pymysql\protocol.py", line 220, in check_error
err.raise_mysql_exception(self._data)
File "C:\Users\WenLiang\Envs\spider\lib\site-packages\pymysql\err.py", line 109, in raise_mysql_exception
raise errorclass(errno, errval)
pymysql.err.IntegrityError: (1062, "Duplicate entry '0' for key 'PRIMARY'")
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/Users/WenLiang/Desktop/spider/csdn_spider/spider.py", line 145, in <module>
parse_list(url)
File "C:/Users/WenLiang/Desktop/spider/csdn_spider/spider.py", line 131, in parse_list
topic.save(force_insert=True) # 插入
File "C:\Users\WenLiang\Envs\spider\lib\site-packages\peewee.py", line 6499, in save
pk = self.insert(**field_dict).execute()
File "C:\Users\WenLiang\Envs\spider\lib\site-packages\peewee.py", line 1886, in inner
return method(self, database, *args, **kwargs)
File "C:\Users\WenLiang\Envs\spider\lib\site-packages\peewee.py", line 1957, in execute
return self._execute(database)
File "C:\Users\WenLiang\Envs\spider\lib\site-packages\peewee.py", line 2707, in _execute
return super(Insert, self)._execute(database)
File "C:\Users\WenLiang\Envs\spider\lib\site-packages\peewee.py", line 2442, in _execute
cursor = database.execute(self)
File "C:\Users\WenLiang\Envs\spider\lib\site-packages\peewee.py", line 3112, in execute
return self.execute_sql(sql, params, commit=commit)
File "C:\Users\WenLiang\Envs\spider\lib\site-packages\peewee.py", line 3106, in execute_sql
self.commit()
File "C:\Users\WenLiang\Envs\spider\lib\site-packages\peewee.py", line 2873, in __exit__
reraise(new_type, new_type(exc_value, *exc_args), traceback)
File "C:\Users\WenLiang\Envs\spider\lib\site-packages\peewee.py", line 183, in reraise
raise value.with_traceback(tb)
File "C:\Users\WenLiang\Envs\spider\lib\site-packages\peewee.py", line 3099, in execute_sql
cursor.execute(sql, params or ())
File "C:\Users\WenLiang\Envs\spider\lib\site-packages\pymysql\cursors.py", line 170, in execute
result = self._query(query)
File "C:\Users\WenLiang\Envs\spider\lib\site-packages\pymysql\cursors.py", line 328, in _query
conn.query(q)
File "C:\Users\WenLiang\Envs\spider\lib\site-packages\pymysql\connections.py", line 517, in query
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
File "C:\Users\WenLiang\Envs\spider\lib\site-packages\pymysql\connections.py", line 732, in _read_query_result
result.read()
File "C:\Users\WenLiang\Envs\spider\lib\site-packages\pymysql\connections.py", line 1075, in read
first_packet = self.connection._read_packet()
File "C:\Users\WenLiang\Envs\spider\lib\site-packages\pymysql\connections.py", line 684, in _read_packet
packet.check_error()
File "C:\Users\WenLiang\Envs\spider\lib\site-packages\pymysql\protocol.py", line 220, in check_error
err.raise_mysql_exception(self._data)
File "C:\Users\WenLiang\Envs\spider\lib\site-packages\pymysql\err.py", line 109, in raise_mysql_exception
raise errorclass(errno, errval)
peewee.IntegrityError: (1062, "Duplicate entry '0' for key 'PRIMARY'")
Process finished with exit code 1
写回答
1回答
-
bobby
2020-05-22
这个意思是说主键冲突,也就是主键为0的这个数据已经插入过了
122020-07-30
相似问题