Ошибка SQLite помогите чтоль:/

Fatal error: Uncaught ErrorException: SQLite3Stmt::execute(): Unable to execute statement: UNIQUE constraint failed: skyblockspm_player.uuid in C:\Users\Acer\Desktop\pmmp4\PocketMine-MP-4.7.0\plugins\[MW]\src\olimpik\SB\libs\poggit\libasynql\sqlite3\Sqlite3Thread.php:89
Stack trace:
#0 [internal function]: pocketmine\errorhandler\ErrorToExceptionHandler::handle(2, 'SQLite3Stmt::ex...', 'C:\\Users\\Acer\\D...', 89)
#1 C:\Users\Acer\Desktop\pmmp4\PocketMine-MP-4.7.0\plugins\[MW]\src\olimpik\SB\libs\poggit\libasynql\sqlite3\Sqlite3Thread.php(89): SQLite3Stmt->execute()
#2 C:\Users\Acer\Desktop\pmmp4\PocketMine-MP-4.7.0\plugins\[MW]\src\olimpik\SB\libs\poggit\libasynql\base\SqlSlaveThread.php(84): olimpik\SB\libs\poggit\libasynql\sqlite3\Sqlite3Thread->executeQuery(Object(SQLite3), 2, 'INSERT INTO sky...', Array)
#3 phar://C:/Users/Acer/Desktop/pmmp4/PocketMine-MP-4.7.0/PocketMine-MP.phar/src/thread/CommonThreadPartsTrait.php(93): olimpik\SB\libs\poggit\libasynql\base\SqlSlaveThread->onRun()
#4 [internal function]: pocketmine\thread\Thread->run()
#5 {main}
  thrown in C:\Users\Acer\Desktop\pmmp4\PocketMine-MP-4.7.0\plugins\[MW]\src\olimpik\SB\libs\poggit\libasynql\sqlite3\Sqlite3Thread.php on line 89

код который вызывает ошибку

SkyBlocksPM::getInstance()->getPlayerManager()->createPlayer(Server::getInstance()->getPlayerByPrefix($data[0]));
                    if ($data[0] !== $p->getName() && !$p->hasPermission('skyblockspm.deleteothers'))
                    {
                        $p->sendMessage(SkyBlocksPM::getInstance()->getMessages()->getMessage('no-perms-delete'));
                        return;
                    }
                    $skyblockPlayer = SkyBlocksPM::getInstance()->getPlayerManager()->getPlayerByPrefix($data[0]);
                    if (!$skyblockPlayer instanceof P)
                    {
                        $p->sendMessage(SkyBlocksPM::getInstance()->getMessages()->getMessage('not-registered'));
                        return;
                    }
                    if ($skyblockPlayer->getSkyBlock() == '')
                    {
                        $p->sendMessage(SkyBlocksPM::getInstance()->getMessages()->getMessage('no-island'));
                        return;
                    }
                    $skyblock = SkyBlocksPM::getInstance()->getSkyBlockManager()->getSkyBlockByUuid($skyblockPlayer->getSkyBlock());
                    foreach ($skyblock->getMembers() as $member)
                    {
                        $player = SkyBlocksPM::getInstance()->getServer()->getPlayerByPrefix($member);
                        if ($player instanceof P)
                        {
                            $player->teleport(SkyBlocksPM::getInstance()->getServer()->getWorldManager()->getDefaultWorld()->getSpawnLocation());
                            SkyBlocksPM::getInstance()->getPlayerManager()->getPlayerByPrefix($member)->setSkyBlock('');
                        }
                        SkyBlocksPM::getInstance()->getSkyBlockManager()->deleteSkyBlock($skyblock->getName());
                        $world = SkyBlocksPM::getInstance()->getServer()->getWorldManager()->getWorldByName($skyblock->getWorld());
                        foreach ($world->getPlayers() as $p){
                            $p->teleport(SkyBlocksPM::getInstance()->getServer()->getWorldManager()->getDefaultWorld()->getSpawnLocation());
                        }
                        if ($world->isLoaded())
                        {
                            $folderName = $world->getFolderName();
                            SkyBlocksPM::getInstance()->getServer()->getWorldManager()->unloadWorld($world);
                            $this->deleteWorld(SkyBlocksPM::getInstance()->getServer()->getDataPath() . 'worlds' . DIRECTORY_SEPARATOR . $folderName);
                        }
                        $sender->sendMessage(SkyBlocksPM::getInstance()->getMessages()->getMessage('deleted-sb', [
                            "{NAME}" => $skyblockPlayer->getName()
                        ]));
                    }

код где происходит

	protected function executeQuery($sqlite, int $mode, string $query, array $params) : SqlResult{
		assert($sqlite instanceof SQLite3);
		$stmt = $sqlite->prepare($query);
		if($stmt === false){
			throw new SqlError(SqlError::STAGE_PREPARE, $sqlite->lastErrorMsg(), $query, $params);
		}
		foreach($params as $paramName => $param){
			$bind = $stmt->bindValue($paramName, $param);
			if(!$bind){
				throw new SqlError(SqlError::STAGE_PREPARE, "when binding $paramName: " . $sqlite->lastErrorMsg(), $query, $params);
			}
		}
		$result = $stmt->execute(); //тута
		if($result === false){
			throw new SqlError(SqlError::STAGE_EXECUTE, $sqlite->lastErrorMsg(), $query, $params);
		}
		switch($mode){
			case SqlThread::MODE_GENERIC:
				$ret = new SqlResult();
				$result->finalize();
				$stmt->close();
				return $ret;
			case SqlThread::MODE_CHANGE:
				$ret = new SqlChangeResult($sqlite->changes());
				$result->finalize();
				$stmt->close();
				return $ret;
			case SqlThread::MODE_INSERT:
				$ret = new SqlInsertResult($sqlite->changes(), $sqlite->lastInsertRowID());
				$result->finalize();
				$stmt->close();
				return $ret;
			case SqlThread::MODE_SELECT:
				/** @var SqlColumnInfo[] $colInfo */
				$colInfo = [];
				$rows = [];
				while(is_array($row = $result->fetchArray(SQLITE3_ASSOC))){
					foreach(array_values($row) as $i => &$value){
						static $columnTypeMap = [
							SQLITE3_INTEGER => SqlColumnInfo::TYPE_INT,
							SQLITE3_FLOAT => SqlColumnInfo::TYPE_FLOAT,
							SQLITE3_TEXT => SqlColumnInfo::TYPE_STRING,
							SQLITE3_BLOB => SqlColumnInfo::TYPE_STRING,
							SQLITE3_NULL => SqlColumnInfo::TYPE_NULL,
						];
						$colInfo[$i] = new SqlColumnInfo($result->columnName($i), $columnTypeMap[$result->columnType($i)]);
						if($colInfo[$i]->getType() === SqlColumnInfo::TYPE_FLOAT){
							if($value === "NAN"){
								$value = NAN;
							}elseif($value === "INF"){
								$value = INF;
							}elseif($value === "-INF"){
								$value = -INF;
							}
						}
					}
					unset($value);
					$rows[] = $row;
				}
				$ret = new SqlSelectResult($colInfo, $rows);
				$result->finalize();
				$stmt->close();
				return $ret;
		}

		throw new InvalidArgumentException("Unknown mode $mode");
	}

да мы же экстрасенсы, знаем где какая строка

я отметид уже

тута

UNIQUE constraint failed: skyblockspm_player.uuid

В таблице skyblockspm_player уже есть запись, в котором колонка uuid совпадает со вставляемой

а как исправить просто пытался удалять данные но все равно так

и ядрышко пммп4 если это смысл имеет

Если удалял данные, а SQLite все равно говорит что они есть, сноси ОС :+1: Скорее всего у тебя черви, потому что такое поведение невозможно :upside_down_face:

ну вот смотри

происходит это все на локалке, удаляю данные создаю остров пытаюсь удалить его через формы и тут это, а как удаляю командой все норм

звучало очень убедительно

Ну если через команды все нормально удаляется, а через формы нет, то ищи отличия в том, как ты удаляешь

нашел, вот я тупой овощ я делал запись два раза

типчные ошибки моего кода

типчные ошибки дубляжа кода

Поправил. Выноси общую логику в отдельные методы, чтобы не повторять себя

ну да

оки

а ты не думал, что данные могли не удалиться?

и такое возможно

Удаляй вручную)