Výsledky 1 až 8 z 8

Téma: [MySQL] DELETE na spojenych tabulkach ?

  1. #1

    Standardní [MySQL] DELETE na spojenych tabulkach ?

    Ahoj,
    mozna si sedim na vedeni, tak me nekamenujte..

    Potrebuju promaznout vsechny zaznamy z tabulky scans_src, ktere neodkazuji na zadne zaznmy v tabulce picturec (zlikvidovat sirotky),
    ale at na to koukam jak chci, nedokazu syntaxi delete napasovat na spojeny tabulky pres JOIN. Zatim to delam nadvakrat, ze prvne nastavim jeden sloupec jako nulovy (s UPDATE neni problem) a podruhe promaznu zaznamy s timto NULL sloupcem:

    Kód:
    UPDATE pictures RIGHT JOIN scans_src ON pictures.id_scans_src = scans_src.id SET scans_src.datum = NULL WHERE pictures.id IS NULL;
    
    DELETE FROM scans_src WHERE datum IS NULL;
    Opravdu to efektivneji nejde
    PC: GA-EP45-DS3R | E8400 + Ninja | 8GB | 80GB SSD X25-M | Zotac 9500GT | Asus Xonar DX | 2x Hauppauge WinTV HVR-1300 | Enermax MODU82+ 525W | Lancool K1
    Foto: Canon 20D | Tokina 12-24/4 | Canon 24-105/4 L IS USM | Canon 50/1,8 | Giottos MTL3361 + 1301-621C | Nodal Ninja NN5

  2. #2
    Senior Member mince Avatar uživatele KtK
    Založen
    16.10.2002
    Bydliště
    Behind fuc*ing WorkTable Device (Praha zapad)
    Příspěvky
    1 709
    Vliv
    286

    Standardní

    napada me tohle:

    DELETE FROM tabulka where NOT sloupec in ('jedna', 'dve', 'osum',...);

    a ten seznam si budto vygenerujes drivejsim selectem, nebo, pokud mas dostatecne novou mysql (tusim 4.neco.neco) tak to jde pres vnoreny select.

    -samozrejme si to prvne vyzkousej na nejakych testovacich datech, az se ti to pos.. ja za to nemuzu
    Parasite lost, AKA the Girlfriend Mission:The Socka Project sleeps, lets use (her :) Durex! 1GHz in some soltek stuff, Ati rage 128, etc.. (it\'s noisy)
    IMB Thinkpad R31: celer 1.2GHz, 384M RAM, 60GB 5400rpm hitachi, i810 8MB onboard (na praci to staci ;)
    [pro archivni ucely] janina overclockerska poradna (.tar.gz, 1.1MB, otevrete si index.html v browseru podporujicim javascript a frames)

  3. #3

    Standardní

    Kód:
    DELETE scans_src FROM pictures RIGHT JOIN scans_src ON pictures.id_scans_src = scans_src.id WHERE pictures.id = NULL ;
    tak trochu strelba od boku
    Hrrrr, will you stop using people as human driven search engines? Google.com has all the answers you need.

  4. #4

    Standardní

    2 Fox!MURDER:
    Tohle právě nefunguje, jinak bych se neptal
    Jakmile v DELETE syntaxi narazí na JOIN řve chybu

    Zatím nevidím jiné řešení než to dělat nadvakrát
    PC: GA-EP45-DS3R | E8400 + Ninja | 8GB | 80GB SSD X25-M | Zotac 9500GT | Asus Xonar DX | 2x Hauppauge WinTV HVR-1300 | Enermax MODU82+ 525W | Lancool K1
    Foto: Canon 20D | Tokina 12-24/4 | Canon 24-105/4 L IS USM | Canon 50/1,8 | Giottos MTL3361 + 1301-621C | Nodal Ninja NN5

  5. #5
    Administrátor mince Avatar uživatele Jezevec
    Založen
    08.10.2002
    Bydliště
    Teplice
    Příspěvky
    6 736
    Vliv
    300

    Standardní

    Vnoreny SELECT je resenim tvyho problemu, bohuzel to fucka od verze 5.x . Takze ve verzi 4.x to fakt jinak asi nepude.

    To co psal Fox ani fungovat nemuze. Paac kdyz linknes ty tabule, tak on to chnape tak, ze chces maznout zaznamy v obou (vsech) linkovanejch => bude to IMO fuckat na JOIN, ale uz ne na LEFT/RIGHT JOIN, paac tam jaksi nemas odpovidajici zaznam v tej druhej tabulce => on nevi co ze to ma vlastne smaznout.
    IMPROBE AMOR, QUID NON MORTALIA PECTORA COGIS - krutá jsi, lásko, kam až ty doženeš smrtelná srdce -- Vergilius
    Mnoho je prostředků, které léčí lásku, ale žádný není spolehlivý.
    S tím, čeho se na nás dopustili druzí se už nějak vyrovnáme. Horší je to s tím, čeho jsme se na sobě dopustili sami.
    -- Francois La Rochefoucauld
    Nabídnout přátelství tomu, kdo chce lásku, je jako dát chleba tomu, kdo umírá žízní.

  6. #6

    Standardní

    to budu muset vyzkouset ...
    dalsi moznost jsou 'constraints' (ted si nemuzu vzpomenout na ceskej vyraz)
    Hrrrr, will you stop using people as human driven search engines? Google.com has all the answers you need.

  7. #7

    Standardní

    Citace Původně odeslal Fox!MURDER
    dalsi moznost jsou 'constraints' (ted si nemuzu vzpomenout na ceskej vyraz)
    jo, ale pak nemuzes zas pouzit MyISAM, constrainy jdou jenom na INNODB, coz neni zatim IMHO uplne idealni reseni. Proto taky mam spec. stranku na vychytani ruznejch fragmentu a vycisteni DB.
    PC: GA-EP45-DS3R | E8400 + Ninja | 8GB | 80GB SSD X25-M | Zotac 9500GT | Asus Xonar DX | 2x Hauppauge WinTV HVR-1300 | Enermax MODU82+ 525W | Lancool K1
    Foto: Canon 20D | Tokina 12-24/4 | Canon 24-105/4 L IS USM | Canon 50/1,8 | Giottos MTL3361 + 1301-621C | Nodal Ninja NN5

  8. #8

    Standardní

    Citace Původně odeslal Aigor
    Citace Původně odeslal Fox!MURDER
    dalsi moznost jsou 'constraints' (ted si nemuzu vzpomenout na ceskej vyraz)
    jo, ale pak nemuzes zas pouzit MyISAM, constrainy jdou jenom na INNODB, coz neni zatim IMHO uplne idealni reseni. Proto taky mam spec. stranku na vychytani ruznejch fragmentu a vycisteni DB.
    co ti vadi na innodb ? skoro cely tohle forum na ni jede ... a bez problemu
    a mozna jeste bdb umi constrainty ... to ale tipuju
    Hrrrr, will you stop using people as human driven search engines? Google.com has all the answers you need.

Informace o tématu

Users Browsing this Thread

Toto téma si právě prohlíží 1 uživatelů. (0 registrovaných a 1 anonymních)

Pravidla přispívání

  • Nemůžete zakládat nová témata
  • Nemůžete zasílat odpovědi
  • Nemůžete přikládat přílohy
  • Nemůžete upravovat své příspěvky
  •