Portál AbcLinuxu, 27. dubna 2024 02:40


Dotaz: Nekonzistentni databáze v MySQL

27.9.2003 17:12 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
Nekonzistentni databáze v MySQL
Přečteno: 69×
Odpovědět | Admin
Zdarec!

Tak se mi to stalo. Mám malou databází, kde si něco eviduji (asi tisíce záznamů). Napsal jsem to v Zope a MySQL. Tehdy MySQL ještě FOREIGN KEY ignorovala. No a stalo se, že se mi tam zatoulaly "sirotci", kteří nemají rodičovské záznamy.

Nevíte, jak co nejjednodušeji zjistit, které záznamy to jsou?

Napadají mě dvě věci:

1) Pomocí ALTER TABLE převést tabule na InnoDB a zavést CASCADE CONSTRIANTy

2) Skript v Perlu či Pythonu, který by všechny záznamy ověřil (ach jo).

Nápady, návrhy, připomínky?
Later --- Lukáš Zapletal
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

27.9.2003 17:24 User682 | skóre: 38 | blog: aqarium | Praha
Rozbalit Rozbalit vše Nekonzistentni databáze v MySQL
Odpovědět | | Sbalit | Link | Blokovat | Admin
zdravim,
udelejte si maly audit database. to znamena ze si udelate par sloupcu a mela by vam vyjit tato ci podobna struktura.
id_tabulka_1;klic_tabulka_2 = id_tabulka_1, id_tabulka_2;
pujde to urcite nejak pomoci left join.pripadne to omezte podminkou where ci nejakym seskupovanim, kde neco=NULL.no a vysledek ulozte rovnou do nejake docasne tabulky ci souboru a pak to promazte.nebo to promazte rovnou timto dotazem pres mnozinu.
<noflame>nevim, ktery zpusob ulozeni pujde pouzit. ja osobne jsem kvuli temto problemum pres k postgressu.</noflame>
pokud to jde, spachejte to rovnou v databasi.
kdyby to neslo, tak me zkontaktujte pres mail.
bye goldenfish
29.9.2003 08:50 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
Rozbalit Rozbalit vše Nekonzistentni databáze v MySQL
Diky zkusim se s tim poprat. Ja zase prechazim na Firebird, protoze potrebuji, aby to jelo i na Windows... ps - omlouvam se, SIROTCI ZATOULALI, stydim se ;-)
29.9.2003 10:03 xyz
Rozbalit Rozbalit vše Nekonzistentni databáze v MySQL
Prechod myslim nie je nutny nakolko MySQL uz referencnu integritu implementovanu ma (InnoDB) a tak isto existuje aj pre windows

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.