On Mon, 26 Jul 2004 17:47:37 +0100, Adaikalavan Ramasamy
<[EMAIL PROTECTED]> wrote:
> This seems more like the solution I want. I am using perl-DBI and when
> there is an error (i.e. duplicate insert), the rest of the scrip it not
> executed. But this is gives me the following error. What am I doing
> wrong ?
> 
> mysql> desc tb;
> +-----------+-------------+------+-----+---------+----------------+
> | Field     | Type        | Null | Key | Default | Extra          |
> +-----------+-------------+------+-----+---------+----------------+
> | myID      | int(11)     |      | PRI | NULL    | auto_increment |
> | firstname | varchar(10) | YES  | MUL | NULL    |                |
> | lastname  | varchar(10) | YES  |     | NULL    |                |
> +-----------+-------------+------+-----+---------+----------------+
> 3 rows in set (0.00 sec)
> 
> mysql> INSERT INTO tb (firstname, lastname) VALUES ('Jack', 'Doe') ON
> DUPLICATE KEY UPDATE lastname = lastname;
> ERROR 1064: You have an error in your SQL syntax near 'ON DUPLICATE KEY
> UPDATE lastname = lastname' at line 1

You are probably running an older version of mysql that doesn't support this.

Try "insert ignore".

> 
> Alternatively, I am looking for 'try' equivalent in perl, so that if the
> insert is duplicate, the rest of the script is still run. Thank you.

eval.

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

Reply via email to