Pokud děláte toto:
- Vytvořte nebo načtěte objekt
$o
. - Přiřadit
'12345'
na příslušnou vlastnost/sloupec. - Uložte
$o
a nechat MySQL zkrátit hodnotu na'1234'
. - Přístup k vlastnosti/sloupci v
$o
a získejte'12345'
zpět.
pak vidíte jeden z problémů, když necháte svou databázi tiše manipulovat s vašimi daty.
Uložení je úspěšné, váš objekt netuší, že MySQL zkrátila data, takže si ponechává '12345'
místo opětovného načtení tohoto sloupce z databáze a máte nekonzistentní data.
Pokud jste odkázáni na to, že MySQL tiše zkracuje vaše data, budete pravděpodobně muset udělat toto:
- Vytvořte/načtěte svůj objekt.
- Aktualizoval vlastnosti.
- Uložte objekt.
- Zahoďte místní odkaz na objekt.
- Načtěte jej znovu z databáze, abyste se ujistili, že získáte skutečný hodnoty.
Doporučil bych přidat k vašim objektům přísné ověřování, abyste se vyhnuli tichému zkrácení uvnitř MySQL. Zapínání přísného režimu by se také tomuto problému vyhnulo, ale pak byste museli zkontrolovat a zpřísnit veškeré zpracování chyb a ověřování dat (což by ve skutečnosti nebylo špatné).