Diskuze: Stejný záznam v databázi
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 6 zpráv z 6.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Když to sériové číslo bude nastavené jako primární klíč tak by ti tam vůbec dva záznamy se stejným číslem neměli jít vložit.
Druhá věc je výpis. Napadá mě buď řešit to vyjímkou. - > Když se
nepovede vložit záznam tak je asi stejné id
Problém je, že nejspíš budeš chtít vypisovat konkrétní problém. To bude
třeba udělat si funkci(cyklus), která projede databázi a zjistí jestli už
záznam s tímto číslem existuje, když není tak vrátí true.
Zaleží také konkrétně v čem programuješ, někde bys možná našel podobnou funkci už v knihovnách.
Programuji v PHP, nebude moc dlouho trvat projití záznamu když už jich je v databází přes 2000 položek? Jako primární klíč to používat nechci, potřebuji záznam se stejným sériovým číslem ukládat do historie změn abych si to mohl zobrazit později jaké byli provedeny změny.
IF NOT EXISTS (
SELECT 1
FROM tabulka
WHERE seriove_cislo = 123
)
INSERT INTO tabulka(seriove_cislo)
VALUES (123)
Taketo nieco?
Historii změn přece nebudeš mít v základní tabulce zařízení, tu budeš ukládat do jiné tabulky s vazbou na primární klíč z té základní ne? Nicméně můžeš mít nastaveno na tom sloupci něco jako "UNIQUE", pokud to MySQL podporuje...
A co toto:
http://bogdan.org.ua/…-syntax.html
Zobrazeno 6 zpráv z 6.