If you are always updating the entire row you could delete the record
(ignoring failures) and then insert the record.  Not efficient but it
would work.

If you are able to trap errors in your shell script and there is a
unique index on the ethernet_address field then you can do this:

Update Record
If update fails
  Insert record


-----Original Message-----
From: Mike Tuller [mailto:[EMAIL PROTECTED] 
Sent: Monday, February 09, 2004 11:53 AM
To: MySql List
Subject: There has to be a way to do this


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


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:
http://lists.mysql.com/[EMAIL PROTECTED]


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to