Monday, 2 September 2013

MySQL INSERT INTO with dual condition for IF NOT EXIST

MySQL INSERT INTO with dual condition for IF NOT EXIST

I am trying to insert a new record if the email address does not exist in
list_email.email_addr AND not exist in list_no_email.email_addr
INSERT INTO list_email($username.$rowname, fname, lname, list_email)
VALUES(?,?,?,?,?)
SELECT email_addr FROM list_email(SELECT email_addr) AS tmp
WHERE NOT EXIST(
SELECT email_addr FROM list_email WHERE email_addr
= $post_addr
) LIMIT 1
**************************** mysql tables ******************************
mysql> desc list_email;
+------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| list_name | varchar(55) | YES | | NULL | |
| fname | char(50) | YES | | NULL | |
| lname | char(50) | YES | | NULL | |
| email_addr | varchar(150) | YES | | NULL | |
+------------+--------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)
mysql> desc list_no_email;
+------------+--------------+------+-----+-------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra
|
+------------+--------------+------+-----+-------------------+-----------------------------+
| id | int(11) | NO | PRI | NULL |
auto_increment |
| date_in | timestamp | NO | | CURRENT_TIMESTAMP | on update
CURRENT_TIMESTAMP |
| email_addr | varchar(150) | YES | | NULL |
|
+------------+--------------+------+-----+-------------------+-----------------------------+
3 rows in set (0.00 sec)

No comments:

Post a Comment