sophisticate9008 / draw_helper

真寻bot插件 花费金币抽明日方舟干员, 价格可分群设置, 可收集,可设置助理, 可看立绘, 可听中日文语音,可黄票兑换 ,内置小游戏猜语音, 数据来自prts.wiki
3 stars 1 forks source link

tortoise.exceptions.IntegrityError: 重复键违反唯一约束"helper_collect_price_key" DETAIL: 键值"(price)=(10)" 已经存在 #7

Closed Nenot233 closed 1 year ago

Nenot233 commented 1 year ago

03-27 22:16:29 [ERROR] nonebot | Running Matcher(type='message', module=extensive_plugin.draw_helper) failed. Traceback (most recent call last): File "C:\Users\Administrator\AppData\Local\pypoetry\Cache\virtualenvs\zhenxun-bot-l9AehN_x-py3.9\lib\site-packages\tortoise\backends\asyncpg\client.py", line 82, in _translate_exceptions return await func(self, *args, *kwargs) File "C:\Users\Administrator\AppData\Local\pypoetry\Cache\virtualenvs\zhenxun-bot-l9AehN_x-py3.9\lib\site-packages\tortoise\backends\asyncpg\client.py", line 108, in execute_insert return await connection.fetchrow(query, values) File "C:\Users\Administrator\AppData\Local\pypoetry\Cache\virtualenvs\zhenxun-bot-l9AehN_x-py3.9\lib\site-packages\asyncpg\connection.py", line 679, in fetchrow data = await self._execute( File "C:\Users\Administrator\AppData\Local\pypoetry\Cache\virtualenvs\zhenxun-bot-l9AehN_x-py3.9\lib\site-packages\asyncpg\connection.py", line 1659, in execute result, = await self.__execute( File "C:\Users\Administrator\AppData\Local\pypoetry\Cache\virtualenvs\zhenxun-bot-l9AehN_x-py3.9\lib\site-packages\asyncpg\connection.py", line 1684, in __execute return await self._do_execute( File "C:\Users\Administrator\AppData\Local\pypoetry\Cache\virtualenvs\zhenxun-bot-l9AehN_x-py3.9\lib\site-packages\asyncpg\connection.py", line 1731, in _do_execute result = await executor(stmt, None) File "asyncpg\protocol\protocol.pyx", line 201, in bind_execute return await waiter asyncpg.exceptions.UniqueViolationError: 重复键违反唯一约束"helper_collect_price_key" DETAIL: 键值"(price)=(10)" 已经存在

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "D:\BOT\zhenxun_bot\bot.py", line 22, in nonebot.run() File "C:\Users\Administrator\AppData\Local\pypoetry\Cache\virtualenvs\zhenxun-bot-l9AehN_x-py3.9\lib\site-packages\nonebot__init.py", line 273, in run get_driver().run(*args, *kwargs) File "C:\Users\Administrator\AppData\Local\pypoetry\Cache\virtualenvs\zhenxun-bot-l9AehN_x-py3.9\lib\site-packages\nonebot\drivers\fastapi.py", line 172, in run uvicorn.run( File "C:\Users\Administrator\AppData\Local\pypoetry\Cache\virtualenvs\zhenxun-bot-l9AehN_x-py3.9\lib\site-packages\uvicorn\main.py", line 569, in run server.run() File "C:\Users\Administrator\AppData\Local\pypoetry\Cache\virtualenvs\zhenxun-bot-l9AehN_x-py3.9\lib\site-packages\uvicorn\server.py", line 60, in run return asyncio.run(self.serve(sockets=sockets)) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\asyncio\runners.py", line 44, in run return loop.run_until_complete(main) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\asyncio\base_events.py", line 634, in run_until_complete self.run_forever() File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\asyncio\windows_events.py", line 321, in run_forever super().run_forever() File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\asyncio\base_events.py", line 601, in run_forever self._run_once() File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\asyncio\base_events.py", line 1905, in _run_once handle._run() File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\asyncio\events.py", line 80, in _run self._context.run(self._callback, self._args) File "C:\Users\Administrator\AppData\Local\pypoetry\Cache\virtualenvs\zhenxun-bot-l9AehN_x-py3.9\lib\site-packages\nonebot\message.py", line 142, in _check_matcher await _run_matcher(Matcher, bot, event, state, stack, dependency_cache) File "C:\Users\Administrator\AppData\Local\pypoetry\Cache\virtualenvs\zhenxun-bot-l9AehN_x-py3.9\lib\site-packages\nonebot\message.py", line 188, in _run_matcher await matcher.run(bot, event, state, stack, dependency_cache) File "C:\Users\Administrator\AppData\Local\pypoetry\Cache\virtualenvs\zhenxun-bot-l9AehN_x-py3.9\lib\site-packages\nonebot\internal\matcher\matcher.py", line 727, in run await self.simple_run(bot, event, state, stack, dependency_cache) File "C:\Users\Administrator\AppData\Local\pypoetry\Cache\virtualenvs\zhenxun-bot-l9AehN_x-py3.9\lib\site-packages\nonebot\internal\matcher\matcher.py", line 702, in simple_run await handler( File "C:\Users\Administrator\AppData\Local\pypoetry\Cache\virtualenvs\zhenxun-bot-l9AehN_x-py3.9\lib\site-packages\nonebot\dependencies__init.py", line 108, in call__ return await cast(Callable[..., Awaitable[R]], self.call)(**values) File "D:\BOT\zhenxun_bot\extensive_plugin\draw_helper\init.py", line 468, in _ list_return = await draw_single(group, uid, price) File "D:\BOT\zhenxun_bot\extensive_plugin\draw_helper\init.py", line 494, in draw_single if await drawassist(rand, 93, 100, 5, group, uid, 1, 5, 13, list): File "D:\BOT\zhenxun_bot\extensive_plugin\draw_helper\init__.py", line 516, in draw_assist await helper_collect.role_record(group, uid, name) File "D:\BOT\zhenxun_bot\extensive_plugin\draw_helper_model.py", line 132, in role_record await cls.create(group_id=group, uid=uid, name=name_create, ticket=0, draw_count=1, six_record=1, drawrecord='', index=1, price=10, helper='') File "C:\Users\Administrator\AppData\Local\pypoetry\Cache\virtualenvs\zhenxun-bot-l9AehN_x-py3.9\lib\site-packages\tortoise\models.py", line 1139, in create await instance.save(using_db=db, force_create=True) File "C:\Users\Administrator\AppData\Local\pypoetry\Cache\virtualenvs\zhenxun-bot-l9AehN_x-py3.9\lib\site-packages\tortoise\models.py", line 943, in save await executor.execute_insert(self) File "C:\Users\Administrator\AppData\Local\pypoetry\Cache\virtualenvs\zhenxun-bot-l9AehN_x-py3.9\lib\site-packages\tortoise\backends\base\executor.py", line 227, in execute_insert insert_result = await self.db.execute_insert(self.insert_query, values) File "C:\Users\Administrator\AppData\Local\pypoetry\Cache\virtualenvs\zhenxun-bot-l9AehN_x-py3.9\lib\site-packages\tortoise\backends\base_postgres\client.py", line 34, in _translate_exceptions return await self._translate_exceptions(func, *args, **kwargs) File "C:\Users\Administrator\AppData\Local\pypoetry\Cache\virtualenvs\zhenxun-bot-l9AehN_x-py3.9\lib\site-packages\tortoise\backends\asyncpg\client.py", line 86, in _translate_exceptions raise IntegrityError(exc) tortoise.exceptions.IntegrityError: 重复键违反唯一约束"helper_collect_price_key" DETAIL: 键值"(price)=(10)" 已经存在

这个情况我需要怎么处理呢?目前是只有特定的QQ会报错

sophisticate9008 commented 1 year ago

60 61行 unique=true好像没啥用还报错,直接删了吧,似乎还影响到改价格,

Nenot233 commented 1 year ago

07-11 12:54:41 [ERROR] nonebot | Running Matcher(type='message', module=extensive_plugin.draw_helper) failed. Traceback (most recent call last): File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\tortoise\backends\asyncpg\client.py", line 82, in _translate_exceptions return await func(self, *args, *kwargs) File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\tortoise\backends\asyncpg\client.py", line 108, in execute_insert return await connection.fetchrow(query, values) File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\asyncpg\connection.py", line 678, in fetchrow data = await self._execute( File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\asyncpg\connection.py", line 1659, in execute result, = await self.execute( File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\asyncpg\connection.py", line 1684, in execute return await self._do_execute( File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\asyncpg\connection.py", line 1731, in _do_execute result = await executor(stmt, None) File "asyncpg\protocol\protocol.pyx", line 201, in bind_execute return await waiter asyncpg.exceptions.UniqueViolationError: 重复键违反唯一约束"helper_collect_price_key" DETAIL: 键值"(price)=(10)" 已经存在

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "D:\BOT\zhenxun_bot\bot.py", line 22, in nonebot.run() File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot__init.py", line 309, in run get_driver().run(*args, *kwargs) File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\drivers\fastapi.py", line 198, in run uvicorn.run( File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\uvicorn\main.py", line 578, in run server.run() File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\uvicorn\server.py", line 61, in run return asyncio.run(self.serve(sockets=sockets)) File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\asyncio\runners.py", line 44, in run return loop.run_until_complete(main) File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 636, in run_until_complete self.run_forever() File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\asyncio\windows_events.py", line 321, in run_forever super().run_forever() File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 603, in run_forever self._run_once() File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 1906, in _run_once handle._run() File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\asyncio\events.py", line 80, in _run self._context.run(self._callback, self._args) File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\message.py", line 467, in check_and_run_matcher await _run_matcher( File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\message.py", line 419, in _run_matcher await matcher.run(bot, event, state, stack, dependency_cache) File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\internal\matcher\matcher.py", line 753, in run await self.simple_run(bot, event, state, stack, dependency_cache) File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\internal\matcher\matcher.py", line 728, in simple_run await handler( File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\dependencies__init.py", line 108, in call__ return await cast(Callable[..., Awaitable[R]], self.call)(**values) File "D:\BOT\zhenxun_bot\extensive_plugin\draw_helper\init.py", line 438, in _ list_return = await draw_single(group, uid, price) File "D:\BOT\zhenxun_bot\extensive_plugin\draw_helper\init.py", line 496, in draw_single if await drawassist(rand, 43, 92, 4, group, uid, 1, 0, 1, list): File "D:\BOT\zhenxun_bot\extensive_plugin\draw_helper\init__.py", line 516, in draw_assist await helper_collect.role_record(group, uid, name) File "D:\BOT\zhenxun_bot\extensive_plugin\draw_helper_model.py", line 132, in role_record await cls.create(group_id=group, uid=uid, name=name_create, ticket=0, draw_count=1, six_record=1, drawrecord='', index=1, price=10, helper='') File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\tortoise\models.py", line 1139, in create await instance.save(using_db=db, force_create=True) File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\tortoise\models.py", line 943, in save await executor.execute_insert(self) File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\tortoise\backends\base\executor.py", line 227, in execute_insert insert_result = await self.db.execute_insert(self.insert_query, values) File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\tortoise\backends\base_postgres\client.py", line 34, in _translate_exceptions return await self._translate_exceptions(func, *args, **kwargs) File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\tortoise\backends\asyncpg\client.py", line 86, in _translate_exceptions raise IntegrityError(exc) tortoise.exceptions.IntegrityError: 重复键违反唯一约束"helper_collect_price_key" DETAIL: 键值"(price)=(10)" 已经存在

还是会报错

Nenot233 commented 1 year ago

image image

目前只写入了一名用户。其他用户无法写入

Nenot233 commented 1 year ago

image image 价格设置之后能抽一次,但价格又会锁10金币导致后续无法抽干员

sophisticate9008 commented 1 year ago

私聊 exec ALTER TABLE helper_collect DROP INDEX price;

Nenot233 commented 1 year ago

私聊 exec ALTER TABLE helper_collect DROP INDEX price; 07-11 13:20:44 [ERROR] nonebot | Running Matcher(type='message', module=basic_plugins.super_cmd.exec_sql) failed. Traceback (most recent call last): File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\tortoise\backends\asyncpg\client.py", line 82, in _translate_exceptions return await func(self, *args, *kwargs) File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\tortoise\backends\asyncpg\client.py", line 143, in execute_query rows = await connection.fetch(params) File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\asyncpg\connection.py", line 620, in fetch return await self._execute( File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\asyncpg\connection.py", line 1659, in execute result, = await self.execute( File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\asyncpg\connection.py", line 1684, in execute return await self._do_execute( File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\asyncpg\connection.py", line 1711, in _do_execute stmt = await self._get_statement( File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\asyncpg\connection.py", line 397, in _get_statement statement = await self._protocol.prepare( File "asyncpg\protocol\protocol.pyx", line 168, in prepare return await waiter asyncpg.exceptions.PostgresSyntaxError: 语法错误 在 ""price"" 或附近的

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "D:\BOT\zhenxun_bot\bot.py", line 22, in nonebot.run() File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot__init__.py", line 309, in run get_driver().run(*args, kwargs) File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\drivers\fastapi.py", line 198, in run uvicorn.run( File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\uvicorn\main.py", line 578, in run server.run() File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\uvicorn\server.py", line 61, in run return asyncio.run(self.serve(sockets=sockets)) File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\asyncio\runners.py", line 44, in run return loop.run_until_complete(main) File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 636, in run_until_complete self.run_forever() File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\asyncio\windows_events.py", line 321, in run_forever super().run_forever() File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 603, in run_forever self._run_once() File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 1906, in _run_once handle._run() File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\asyncio\events.py", line 80, in _run self._context.run(self._callback, *self._args) File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\message.py", line 467, in check_and_run_matcher await _run_matcher( File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\message.py", line 419, in _run_matcher await matcher.run(bot, event, state, stack, dependency_cache) File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\internal\matcher\matcher.py", line 753, in run await self.simple_run(bot, event, state, stack, dependency_cache) File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\internal\matcher\matcher.py", line 728, in simple_run await handler( File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\dependencies__init.py", line 108, in call__ return await cast(Callable[..., Awaitable[R]], self.call)(*values) File "D:\BOT\zhenxun_bot\basic_plugins\super_cmd\execsql.py", line 75, in await TestSQL.raw(sql) File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\tortoise\queryset.py", line 1670, in _execute instance_list = await self._db.executor_class( File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\tortoise\backends\base\executor.py", line 131, in executeselect , raw_results = await self.db.execute_query(query.get_sql()) File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\tortoise\backends\base_postgres\client.py", line 34, in _translate_exceptions return await self._translate_exceptions(func, args, kwargs) File "C:\Users\550N\AppData\Local\Programs\Python\Python310\lib\site-packages\tortoise\backends\asyncpg\client.py", line 84, in _translate_exceptions raise OperationalError(exc) tortoise.exceptions.OperationalError: 语法错误 在 ""price"" 或附近的

sophisticate9008 commented 1 year ago

image 长这样`这个符号

Nenot233 commented 1 year ago

`

tortoise.exceptions.OperationalError: 语法错误 在 "`" 或附近的

sophisticate9008 commented 1 year ago

要不删表重建吧,exec DROP TABLE helper_collect; 错误状态下反正也没数据,先试试把price周围的符号去掉 不行就删表

Nenot233 commented 1 year ago

删表重建已修复