Quand tu n’as pas comprit le principe des clés primaire en AUTO_INCREMENT
J’ai trouvé ceci dans le code d’un plugin Joomla.
Je ne comprenais pas pourquoi j’avais une erreur de clé primaire dupliquée. Voilà pourquoi :
- $db->setQuery("SELECT MAX( `extension_id` ) as id FROM `#__extensions` WHERE `type` = \"plugin\" AND (`extension_id` > 8000 AND `extension_id` < 10000)");
- $id = $db->loadResult();
- $id = $id + 1;
- // Enable mod_
- $db->setQuery("INSERT INTO #__extensions (extension_id, name, type, element, folder, enabled, access, protected, manifest_cache, params)
- VALUES (".((int)$id).", '******', 'plugin', 'cp', 'system', 1, 1, 1, '{\"name\":\"******\",\"type\":\"plugin\",\"creationDate\":\"December 2006\",\"author\":\"*******\",\"copyright\":\"**********\",\"authorEmail\":\"********\",\"authorUrl\":\"*******\",\"version\":\"3.0.0\",\"description\":\"*******_COPYRIGHT_DESCRIPTION\",\"group\":\"\"}', '{}')");
- $db->query();
Visiblement, le concept de clé primaire en AUTO_INCREMENT est - j’espère plutôt « était » - inconnu du créateur de ce plugin.