I just had a look at the respective part in a backup from Dolibarr version 15.0.1:
--
-- Table structure for table `llx_adherent_type`
--
DROP TABLE IF EXISTS `llx_adherent_type`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `llx_adherent_type` (
`rowid` int NOT NULL AUTO_INCREMENT,
`entity` int NOT NULL DEFAULT '1',
`tms` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`statut` smallint NOT NULL DEFAULT '0',
`libelle` varchar(50) NOT NULL,
`morphy` varchar(3) NOT NULL,
`duration` varchar(6) DEFAULT NULL,
`subscription` varchar(3) NOT NULL DEFAULT '1',
`amount` double(24,8) DEFAULT NULL,
`vote` varchar(3) NOT NULL DEFAULT '1',
`note` text,
`mail_valid` text,
PRIMARY KEY (`rowid`),
UNIQUE KEY `uk_adherent_type_libelle` (`libelle`,`entity`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
As you can see, there are two additional lines and an AUTO_INCREMENT is missing from your dump:
PRIMARY KEY (`rowid`),
UNIQUE KEY `uk_adherent_type_libelle` (`libelle`,`entity`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4
You could try adding these lines into the backup file and see, if this solves the issue. However, there is probably some other underlying issue which causes this. For instance, you are also missing the field amount. Did you have any trouble in the past while performing a migration to a newer release?
There is still an additional option. Dolibarr comes with a repair script for the database: /install/repair.php More info can be found on this page: Troubleshooting - Dolibarr ERP CRM Wiki
You can try your luck with it. BUT: It is good to have a (working) backup before doing this, which is not the case in your scenario. So you may want to take a server snapshot or do whatever can guarantee to be able to roll back to the state before running the script.
Hope this helps.