Jump to content

Archived

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

bcamp1973

WHERE allowed on INSERTs?

Recommended Posts

Is this not acceptable?

[code]
foreach($_POST['category'] as $value) {
    mysql_query("INSERT INTO table (field) VALUES ($value) WHERE $value NOT IN ($old)");
}
[/code]

in this case $old is 1 or more values separated by commas...

I'm getting the following error...

[code]
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE 25 NOT IN (25))' at line 1
[/code]

Share this post


Link to post
Share on other sites
INSERT INTO table (field) VALUES ($value) WHERE $value1 NOT IN ($old));
after old you have an extra ) that doesn't seem to be needed, and I am not familiar with using NOT IN, but either way that ) at the very end should be removed.

Share this post


Link to post
Share on other sites
actually, that's a typo when i posted the message, but good catch!  i wish that was the problem tho...

Share this post


Link to post
Share on other sites
Well with the WHERE Clasuse I'm sure you are supposed to have a column name and not a value from a column.
Like:
INSERT INTO table (field) VALUES ($value) WHERE col_name=$value1
You cannot use a column value on its own.

i'm moving this to the MySQL Help forum.

Share this post


Link to post
Share on other sites
ok, i think maybe i'm not getting the proper use of IN/NOT IN.  I thought (in this case) i could use it to check against a list of already entered values (which have been pulled from a previous query) to make duplicates aren't entered in the database.  Basically i have a page with a bunch of checkboxes on it. if records exist in the database taht correspond to a checkbox then it's check. on submission, i don't want that to be inserted again as a duplicate record?  does that make any sense? :(

Share this post


Link to post
Share on other sites
Well, if you have an appropriate unique key index, you can use INSERT IGNORE.

Share this post


Link to post
Share on other sites

×

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.