Prestashop 1.6. – sql – pokročilé řízení zásob

Při použití pokročilého řízení zásob u vznikajícího eshopu je potřeba jednorázově naplnit sklad (systém rozšířené správy zásob). Jedna z možností je naplnit sklad přes Mysql. Níže uvedu jenom orientační body z kterých se vychází. Sql si každý musí vytvořit podle sebe, uvedené sql jsou pro orientaci. V níže uvedených případech jsem každému produktu nastavil 1000…

Zformátování datumu – DATE_FORMAT

Pro práci s datumem (php+sql) se dá použít přepočíst na Timestamp (číselné vyjádření vteřin) a zacházet s datumem matematicky nebo ho uložit jako Date ( Datetime) a zacházet s ním jako s řetězcem (YYYY-MM-DD). Uživatelé chtějí ale vidět datum nějak pěkně (YYYY-MM-DD =>DD.MM. YYYY). Tato operace je možná na úrovni databáze pomocí příkazu DATE_FORMAT  

Mysql: poslední autoinkrement při insertu

Dobrým zvykem je, aby každý záznam v databázi měl vlastní idetifikaci. Dělám to tak (a asi i většina datařů), že do každé tabulky přiřadím sloupeček „id(int)“ s hodnutou „auto_increment“. Při každém insertu do tabulky se záznamu přiřadí unikátní číselné id. Pro vazební tabulky mezi dvěma datovýma tabulkama potom stačí vložit akorát id záznamů. Aktuální id…

Informix: pomalost vícenásobného outer joinu

Měl jsem tu 3 tabule, které jsem potřeboval outer joinovat na hlavní tabuli. Udělal jsem vícenásobný outer join a ani po dvou dnech jsem nedostal výsledek. Tak jsem rozsekal velký dotaz na 3 poddotazy a proběhlo to všechno během minuty. Poučení: informix nezvládá multi outer joiny a je potřeba je rozsekat na mezitabule s jednoduchýma…

SQL – poslední dny v měsících

Trošku teorie: mám objednávky od zákazníků a poseldní den v měsíci nepracuji 😉 Takže všechny objednávky učiněné poslední den v měsíci přesunu na jiný den než poslední den v měsíci. jak ale v záplavě datumů v yberu poslední den v měsíci? Troška praxe:Ve sloupci datového typu date má datum formát „DD.MM.RRRR“. SQLko umí z toho…

Mysql – ošetření nulového DATE

Když je sloupeček typu DATE tak při výpisu občas nevypadá pěkně. Má divný tvar a při nulové hodnotě samé nuly. Následující úprava spočívá v tom, že udělá z 2008-08-13 pěkný datum 13.8.2008 a při samých nulách nevypíše nic. SELECT CASE splneno WHEN 0000-00-00 THEN “ ELSE DATE_FORMAT(splneno,’%d.%m.%Y‘) END AS datum_expedice FROM sledovani;

Informix – export struktury databáze

Aneb jak cvičená opička kreslí ER diagramy z Informixu. Pomocí Arctelu(nebo jiný terminál) se připojíme na databázový stroj na příkazovou řádku. Do příkazového řádku napíšeme: “ dbschema -d nazev_databaze >nazev_souboru.sql „. Do toho souboru nám to uloží sql pro vytvoření nové kopie databáze. Pokud si nepamatujete některé nastavení, tak si je vypíšete pomocí „set|pg„. Otevřete…

Informix: sloučení sloupců

Potřeboval jsem do sloupečku s rodnými čísly doplnit identifikační číslo obchodníka tam kde rodné číslo chybí. Dělal jsem to pomocí update s where sloupeček je null. Ale existuje příkaz NVL(kontrolovaný sloupec,dosazovaný sloupec). Systém se jukne na kontrolovaný sloupec a když zjistí, že je prázdný, tak doplní hodnotu z dosazovaného sloupce. Zajímavý zápich je o tom…

Mysql v php: rychlé odchytání problémů

Z webových databázových systémů mám nejraději „klasické“ mysql. A psát testy na funkčnost výsledků dotazů je pracné. Jsem prostě líný. Ale když něco nefunguje, je potřeba rychle rychle vyhledat v čem je problém. Na to mám princip tří řádků. Ukážu to na příkladu: mysql_query(„UPDATE tabulka SET sloupecek=’hodnota’“); //dotaz, kde je chyba echo „UPDATE tabulka SET…

Zálohování tabulky mysql databáze v příkazové řádce

Občas je z nějakého důvodu potřeba vytáhnout tabulku z databáze ze stroje u Franty do textového souboru a někde jinde ji do stroje u Lojzy nacpat. Typický příklad jsou nechutně velké tabulky. Databázové stroje většinou (alespoň v mém okolí) jsou linuxové stanice a tak se píšou příkazy v příkazové řádce 1. krok – databáze do…