mySQL problem s exportem dat
Ing. Miloslav Ponkrác
postovni.holub na atlas.cz
Pondělí Červenec 9 20:30:09 CEST 2001
Dobrý den,
>Snazim se dostat z mySQL serveru vypis vsech zaznamu v tabulce email:
>select email into outfile "emaily.txt" from Zakaznici;
>
>Prikaz funguje vyborne, a dela presne to, co po nem chci, ale pouze jednou.
>Kdyz jej spustim podruhe, tak mi nahlasi, ze soubor "emaily.txt" jiz
>existuje. Dival jsem se do manualu, ale nenasel jsem, jak mySQL donutit,
aby
>ten soubor prepsal.
>Ma nekdo nejaky napad?
Na Vašem místě bych používal pro opakované použití:
mysqldump --tab > emaily.txt
nebo
mysql -e "select * from email" > emaily.txt
>Tusim, ze tohle se stava, pokud MySQL bezi se spatne nastavenou
>umaskou. Tusim se to resilo pridanim volani umask 066 do
>startovaciho scriptu.
To je samozřejmě blbost. V manuálu pro MySQL se jasně píše, že pokud
použijete konstrukci SELECT ... INTO OUTFILE filename, tak cílový soubor
_nesmí_existovat_jinak_dojde_k_chybě! Stačí číst ten "fucking manual"
(vypůjčeno z RTFM). Takže pokud se pan Tomáš Vida díval do manuálu, tak asi
jen na desky a manuál zapomněl otevřít. Je to tam totiž dost jasně a přímo
napsáno, ani hledat se to nemusí.
Tedy jedná se o normální zdokumentovanou feature, a nikoli chybu. Koneckonců
konstrukce SELECT INTO OUTFILE není nejspíše určeno pro rutiní používání,
ale pro ruční exporty dat.
S pozdravem
Miloslav Ponkrác
Další informace o konferenci Linux