Field 'password request key' doesn't have a default value
(Quelle: Anwenderhandbuch 2.9)
1364 - Field 'password_request_key' doesn't have a default value insert into customers ( customers_id, customers_status, customers_firstname, customers_lastname, customers_gender, customers_email_address, customers_default_address_id, customers_telephone, customers_password, delete_user) VALUES ('1', '0', 'Max', 'Mustermann','m', 'max@mustershop.de', '1', '040/123456', '96cc64ee0eabe3b4333817411300f5ac', '0') [XT SQL Error]
Die oben genannte Fehlermeldung tritt während der xt:Commerce Installation im Schritt 6 bei "xtc_installer/install_step6.php" auf.
Problem:
Häufig ist das ein MySQL 5 spezifisches Problem, wenn die MySQL 5 Datenbank im sogenannten
„Strict“-Modus betrieben wird. Die Tabelle ‚customers‘ enthält das Feld 'password_request_key' für das kein "default“ Wert definiert ist und dem mit der oben genannten SQLStatement auch kein Wert zugewiesen wird.
Lösung:
Diese Art von MySQL 5-Problemen lässt sich „global“ beheben. Dazu ist in den Dateien
"inc/xtc_db_connect.inc.php" folgender Quelltext
if ($$link) mysql_select_db($database);
zu ersetzen mit:
$vers = @mysql_get_server_info(); if(substr($vers,0,1) > 4) @mysql_query("SET SESSION sql_mode='MYSQL40'"); if ($$link) mysql_select_db($database);
und in der Datei "inc/xtc_db_connect_installer.inc.php" folgender Quelltext
$$link = @mysql_connect($server, $username, $password) or $db_error = mysql_error();
zu ersetzen mit:
$$link = @mysql_connect($server, $username, $password) or $db_error = mysql_error(); $vers = @mysql_get_server_info(); if(substr($vers,0,1) > 4) @mysql_query("SET SESSION sql_mode='MYSQL40'");
Damit wird der "Strict"-Modus von MySQL 5 deaktiviert und die MySQL 5 Datenbank akzeptiert auch wieder nicht-standardkonformes SQL.