2016-06-23 10 views
1

ich machte Modul für Prestashop. Einfaches Verwaltungsformular mit Schreiben in DB. Aber wenn ich versuche, Modul Prestashop zu installieren, ich habe diesen Fehler:MySQL-Fehler bei der Installation von Prestashop Modul

[PrestaShopDatabaseException] 

Duplicate entry '0' for key 'PRIMARY' 


INSERT INTO `ps_module` (`name`, `active`, `version`) VALUES ('apishippingtextsource', '1', '0.0.1') 

at line 635 in file classes/db/Db.php 
629.   WebserviceRequest::getInstance()->setError(500, '[SQL Error] '.$this->getMsgError().'. From '.(isset($dbg[3]['class']) ? $dbg[3]['class'] : '').'->'.$dbg[3]['function'].'() Query was : '.$sql, 97); 
630.  } 
631.  else if (_PS_DEBUG_SQL_ && $errno && !defined('PS_INSTALLATION_IN_PROGRESS')) 
632.  { 
633.   if ($sql) 
634.    throw new PrestaShopDatabaseException($this->getMsgError().'<br /><br /><pre>'.$sql.'</pre>'); 
635.   throw new PrestaShopDatabaseException($this->getMsgError()); 
636.  } 
637. } 
638. 
639. /** 

meine install.php für SQL:

$sql = array(); 

$sql[] = 'CREATE TABLE IF NOT EXISTS `' . _DB_PREFIX_ . 'api_shipping_text` (
     `id_text` int(10) unsigned NOT NULL AUTO_INCREMENT, 
     PRIMARY KEY (`id_text`) 
) ENGINE=' . _MYSQL_ENGINE_ . ' DEFAULT CHARSET=utf8;'; 

foreach ($sql as $query) { 
    if (Db::getInstance()->execute($query) == false) { 
     return false; 
    } 
} 

Version von Prestashop ist 1.6.0.9.

+0

Können Sie den 'auto_increment' Wert Ihrer' ps_module' Tabellenstruktur überprüfen? Vielleicht ist "auto_increment" nicht definiert oder definiert zu "0" –

+0

@FlorianLemaitre vielen Dank, ich bin Idiot. Ich setze auto_increment nicht für die ID-Spalte. Und hier ist ich ein Problem, wie es möglich ist, gibt es Module instaliert. : D –

Antwort

1

Können Sie den auto_increment Wert Ihrer ps_module Tabellenstruktur überprüfen? Vielleicht auto_increment ist nicht definiert oder auf 0 festgelegt.

Wenn dies der Fall ist, hatten Sie wahrscheinlich einen Fehler während der Datenbankmigration oder installiert ein anderes Modul mit auto_increment.