Jump to content

Insert Ignore??


barkster

Recommended Posts

I have table called email with fields EmailID(Primary Key), Email, and Remove.  I only want to insert new records where Email does not exists.  I can't figure out how to do it.  I changed Email to a primary key but I guess because it is text this insert doesn't work.  How can I insert only if Email is unique?  Thanks

INSERT IGNORE INTO Emails (Email,Remove) VALUES ('[email protected]','1')
Link to comment
https://forums.phpfreaks.com/topic/19929-insert-ignore/
Share on other sites

rather than changing email to a primary key, you just need to make it a UNIQUE constraint. then, the SQL will return an error if you try to insert one that already exists. otherwise, you need to check it with PHP first:
[code]
<?php
$sql = mysql_query("SELECT * FROM emails WHERE email = '$email'");
if (mysql_num_rows($sql) == 0) {
  // no records yet, so insert it
  mysql_query("INSERT INTO emails (email, remove) VALUES ('$email', '1')");
}
?>
[/code]

hope this helps
Link to comment
https://forums.phpfreaks.com/topic/19929-insert-ignore/#findComment-87287
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.