logo
13.09.2019 09:59
1
Mam v mysql CHAR stlpec kam musi ist string o presnej dlzke avsak ak nie je tak ho mysql napaduje medzerami z prava a zaujima ma ci je mozne toto spravanie vypnut a docielit tak sql error? Chcel by som sa totiz vyhnut implementacii kontroly v logike a i ked si nemyslim ze je to mozne, predsalen sa spytam.

Co se právě děje na Webtrhu?

13.09.2019 10:03
2
od toho tam je datový typ varchar, pokud nechceš mít padding.

Chceš-li kontrolovat přesnou délku řetězce tak buď vlastní procedurou (trigger na update), která může vyhodit chybu, pokud řetězec je jiné délky než sloupec nebo kontrolou na úrovni aplikace, což bych osobně doporučil.

Poslední možnost, kterou používám asi nejčastěji je dovolit uložit řetězec i s jinou délkou, ale přes sestavu či view ho označit jako nesprávný a nechat pak na aplikaci, ať vyzve uživatele k nápravě či ať hodnotu jako nesprávnou ignoruje. Pro zpětný debug a přehled o systému to je super.
13.09.2019 10:03
3
Co tu kontrolu udělat procedurou v MySQL a nikoliv v kódu aplikace?
13.09.2019 13:25
4
Diky, no skor ma zaujimalo riesenie s sql vlajkami/modmi. Davat logiku do db urcite nebudem a len som dufal ze sa vyhnem logike v aplikacii(nepouzivam ORM).