IF works on the selections not on the query.
Select IF(lastname='clark','Correct',''Incorrect'), firstname from
namefile;
You need to do the checking in your script.
For example in bash:
RESULT=`echo "select count(*) from manefile where lastname='clark'" |
mysql database`
if [ "$RESULT" = "0" ] ; then
echo "insert into namefile .......
else
echo "update namefile ......
fi
Mike Tuller wrote:
>I have posted this question a few times, and have not seen the answer that I
>need.
>
>I have a shell script, that gathers information from systems, and I want
>that info to be entered into a database. I want it to check first to see if
>the data is already entered, and if not, add it. If it has already been
>entered, then update the record.
>
>I would think that some type of if/else statement would work, but I can't
>get the IF statement http://www.mysql.com/doc/en/IF_Statement.html to work
>correctly in MySql.
>
>Here is what I have:
>
>"IF SELECT * FROM hardware_assets WHERE ethernet_address='$ethernet_address'
>IS NULL\
> THEN INSERT into hardware_assets (ethernet_address) VALUES
>($ethernet_address)\
>ELSE\
> UPDATE hardware_assets SET operating_system='10.3.3'\
>END IF;"
>
>I get back that I have an error in my SQL syntax. $ethernet_address is set,
>so that is not my problem.
>
>Does anyone know a way to go about this in SQL, or in a shell script? I
>don't want to do it in Perl or PHP.
>
>
>Thanks,
>Mike
>
>
>
>