Mark,  

 

Sql is an alias to mysq -u.....  

What about something like :

 

declare -a TEAMS=(`echo "query"|sql|sed 's/$/",/g'|sed 's/^/"/g'|sed
's/"$//'`)

 

since the query returns the results 1 per line, the first sed prefixes
each line with a quote

second sed replaces the newline with quote comma, turning it into 1 line
string.  Last sed drops off the last quote

 

I gave this command and bash didn't complain :-) so I assume it worked.

 

 

 

-----Original Message-----
From: Mark Phillips [mailto:[EMAIL PROTECTED] 
Sent: Thursday, January 12, 2006 12:44 PM
To: MYSQL List
Subject: Question regarding running 'mysql' from a bash script

 

There is a column in my table with string values, but the strings have
spaces 

in them. I want to read the unique column values into an array in my
bash 

script, so I can use these values in a separate query on this table. How
do I 

get the values into an array?

 

For example, the column teams in my table

 

| team |.....

Red Sox

Chicago Colleens

Athletics

Kenosha Comets

Red Sox

 

and I want to create the equivalent statement, but using what I find in
the 

table"

 

declare -a TEAMS=("Red Sox" "Chicago Colleens" "Athletics" "Kenosha
Comets")

 

I tried the following:

declare -a TEAMS=(`mysql -u "$USER" -h "$HOST" --password="$PASSWORD" -D


"$DATABASE" -B --disable-column-names --exec "select distinct team from 

registered order by team"`)

 

but I get the following array (using the data above)

 

("Red" "Sox" "Chicago" "Colleens" "Athletics" "Kenosha" "Comets")

 

How do I either (1) add quotes around each row entry returned so I get
the 

right array, or (2) fill the array in a different way?

 

Thanks!

 

-- 

Mark Phillips

Phillips Marketing, Inc

[EMAIL PROTECTED]

602 524-0376

480 945-9197 fax

 

-- 

MySQL General Mailing List

For list archives: http://lists.mysql.com/mysql

To unsubscribe:
http://lists.mysql.com/[EMAIL PROTECTED]

 

Reply via email to