Hi You are not defining num so you are adding 1 to 0 to get 1 and you already have that record. Sounds like you need an autoincrement field. Mike
----- Original Message ----- From: "Mark Rages" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: June 5, 2003 7:52 PM Subject: I thought single UPDATE statements were atomic > According to the docs, single update statements are atomic. > > So why doesn't this work? > > mysql> create table t (num INT, UNIQUE (num)); > Query OK, 0 rows affected (0.00 sec) > > mysql> insert into t values ('1'); > Query OK, 1 row affected (0.00 sec) > > mysql> insert into t values ('2'); > Query OK, 1 row affected (0.00 sec) > > mysql> select * from t; > +------+ > | num | > +------+ > | 1 | > | 2 | > +------+ > 2 rows in set (0.00 sec) > > mysql> update t set num=num+1; > ERROR 1062: Duplicate entry '2' for key 1 > mysql> > > Help! > > Regards, > Mark > [EMAIL PROTECTED] > > -- > 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]