PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mysql client im bash script



mork
10-02-2003, 08:44
hallo.
ich versuche ein script zu schreiben, dass mit hilfe von jhead matadaten aus einer grossen menge von jpgs ausliest und sie per mysql client in eine mysql db einträgt.
problem:
ich verpacke das insert komando in einen string und hänge den als mysql syntax hinten drann:

mysqlstring="use dbname;insert into tabelle values($nr,$jpgname,$datum,$zeit,$etc);"
mysql -u username $mysqlstring

scheinbar übersetzt die bash die variable nicht in die entsprechende zeichenkette, sondern versucht das komando mit $mysqlstring als option auszuführen....?!

ich habe das komplette script noch drangehängt.

die probleme treten nur im script auf. wenn ich das komando am promt benutze klappt alles prima. nur im script gibt es probleme.
hat jemand damit erfahrung??

danke,
mork

Christoph
10-02-2003, 13:11
Wie wär's damit:

mysql -u username "$mysqlstring"

Christoph
10-02-2003, 13:15
Und hier noch eine bessere Lösung für längere SQL Scripts, die
ich so bei Postgres und Oracle immer verwende:

psql <<EOF
-- SQL-Kommandos
-- (auch PL/SQL möglich)
EOF

Sollte auch mit MySQL gehen, wobei Du dann aber nur auf die Dinge
beschränkt bist, die mit reinem SQL gehen (PL/SQL ist sehr viel mächtiger,
d.h. damit kann man alles programmieren).

Christoph