Thanks Alec ! This works wonderfully. But I have another related question. How do I write an IF ELSE command with MYSQL. In this context, I want it to return myID if the record already exists, otherwise insert into database.
This naive syntax does not work : IF EXISTS (SELECT myID FROM tb WHERE firstname='Jack' AND lastname='Doe') ELSE (INSERT INTO tb(firstname, lastname) VALUES ('Jack', 'Doe'); On Mon, 2004-07-26 at 16:20, [EMAIL PROTECTED] wrote: > Adaikalavan Ramasamy <[EMAIL PROTECTED]> wrote on 26/07/2004 > 16:05:23: > > > I am creating a small database that keeps track of users and assigns > > them a unique user ID. > > > > The problem is that sometimes the users might request to be added more > > than once (i.e. click on the submit button multiple times). Therefore I > > only want to add users if their details (here defined by both firstname, > > lastname) are not in the database. Example : > > > > CREATE TABLE tb ( myID INT NOT NULL auto_increment, firstname > > VARCHAR(10), lastname VARCHAR(10), PRIMARY KEY(myID) ); > > INSERT INTO tb (firstname, lastname) VALUES ('John', 'Doe'); > > INSERT INTO tb (firstname, lastname) VALUES ('Jack', 'Doe'); > > INSERT INTO tb (firstname, lastname) VALUES ('Paul', 'Smith'); > > SELECT * from tb; > > +------+-----------+----------+ > > | myID | firstname | lastname | > > +------+-----------+----------+ > > | 1 | John | Doe | > > | 2 | Jack | Doe | > > | 3 | John | Smith | > > +------+-----------+----------+ > > > > I get syntax error with the following : > > > > INSERT INTO tb (firstname, lastname) VALUES ('Jack', 'Doe') IF NOT > > EXISTS ( SELECT * FROM tb WHERE firstname='Jack' AND lastname='Doe' ); > > > > In this case, I want no insert because Jack Doe already exists. Can > > anyone help me ? > > Simply create a UNIQUE index on the fields which you with to be unique. > Add into yoyr table cration the line > UNIQUE (firstname, lastname), > > MySQL will then reject any attempt to make that combination non-unique. > > Alec > > > > > -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]