PHP Warning: [MYSQL] Field ' ' doesn't have a default value (1364): [QUERY] insert into
Kritikus hiba, ami már elrontott mindent!!!
Amikor admin felületről adatbázist mentünk és visszatöltünk, az áruházban dolgozva találkozhatunk egy csomó SQL hibaüzenettel, mint például ilyennel:
PHP Warning: [MYSQL] Field 'products_ordered' doesn't have a default value (1364): [QUERY] insert into osc_products (parent_id, products_quantity, products_price, products_model, products_weight, products_weight_class, products_status, products_tax_class_id, manufacturers_id, products_date_added, has_children) values (0, 13, 457, 'DÜ-22071', 0.01, 4, 1, 5, 0, '2009-08-21 18:32:52', 0) in /home/demoweb/public_html/osc3/includes/classes/database.php on line 72
Ennek az az oka, hogy az adatbázis tábláink egyes mezőinek default értékei nem kerülnek meghatározásra, mert 0 értékűek voltak. A 0 érték nem azonos a nem definiállt értékkel és ez a hiba forrása.
Keressük meg a következő fájlt:
/admin/includes/applications/backup/classes/backup.php
kb a 61 sorban cseréljük le a következőt:
if ( !osc_empty($Qfields->value('Default'))) {
$schema .= ' default \'' . $Qfields->value('Default') . '\'';
}
Erre:
if ( !osc_empty($Qfields->value('Default')) OR strlen($Qfields->value('Default')) != 0 ) {
$schema .= ' default \'' . $Qfields->value('Default') . '\'';
}
A fenti kódból valószínűleg eltüntethető a !osc_empty($Qfields->value('Default')) OR
Amennyiben már töltöttünkvissza adatbázist, akkor kézi módszerrel, a PHPADMIN felületen kel visszaállítani az adatbázis mezők default értékeit kb 68 helyen. Jelenleg jobbnak tűnik, ha PHPAdmin felületről készítjük mentéseinket és visszatöltéseinket.
Tóth Geregely
-
2010-10-13 15:22:43 |Administrator| tgely
Szia!
A hibaüzenetből egyértelmű. A default null értékek hibáznak 68 helyen.
A mentés állományban kézzel kell végig javítani és utána visszatölteni a javított mentést, illetve a backup.php-ban feltétlenül javítsd ki a rossz sort.Ha nagy a gáz keress emailben.
Módosítás: ( 2009. október 25. vasárnap, 09:22 )



Szia! Én is beleestem ebbe. Ezeket az értékeket hogyan lehet visszaállítani/hol? Miböl veszem észre, hogy nem jó értéken van? Segítséged előre is köszönöm!