MYSQL Updating multiple columns using variables

43,755

Solution 1

UPDATE syntax is different than INSERT syntax. An example of UPDATE would be:

"UPDATE products SET field1 = 'value1', field2 = '$val2', field3 = 5 WHERE sku = '$checksku'"  

Though this may be insecure. You should look into parameterized queries.

Solution 2

INSERT INTO products ($fields) VALUES ($values) ON DUPLICATE KEY UPDATE field = VALUES(field), ...

Don't forgot about unique or primary key

Share:
43,755
Admin
Author by

Admin

Updated on June 20, 2020

Comments

  • Admin
    Admin almost 4 years

    I used this query to insert all my values into this database:

    INSERT INTO products ($fields) VALUES ($values)
    

    However, I try to use the same format for UPDATE:

    UPDATE products SET ($fields) VALUES ($values) WHERE sku = '$checksku'
    

    ...and am getting thrown a syntax error:

    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 '('product,make,model,' at line 1
    

    I can't figure it out. Would appreciate any help. Thanks.

  • Admin
    Admin almost 13 years
    I basically ended up using this, just disappointed that I had to do it 23 times (amount of fields)
  • Derek W
    Derek W about 11 years
    This is not valid MySQL syntax.