bcsteeve
bcsteeve

Reputation: 1001

SQL Syntax error. Where is my syntatic mistake?

I can't for the life of me spot my typo!

UPDATE orders o, orders_total_couponz otc
    SET o.total_paid = o.total_paid - ( otc.converted_value * ( 1 + ( otc.tax_rate / 100 ) ) ),
    SET o.total_paid_tax_incl = o.total_paid_tax_incl - ( otc.converted_value * ( 1 + ( otc.tax_rate / 100 ) ) ),
    SET o.total_paid_tax_excl = o.total_paid_tax_excl - otc.converted_value,
    SET o.total_paid_tax_real = o.total_paid_tax_real - ( otc.converted_value * ( 1 + ( otc.tax_rate / 100 ) ) ),
    SET o.total_products = o.total_products - otc.converted_value,
    SET o.total_products_wt = o.total_products_wt - ( otc.converted_value * ( 1 + ( otc.tax_rate / 100 ) ) )
WHERE o.id_order = otc.orders_id

error:

#1064 - 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 'SET o.total_paid_tax_incl = o.total_paid_tax_incl - ( otc.converted_value * ( 1 ' at line 3 

Upvotes: 2

Views: 38

Answers (2)

GolezTrol
GolezTrol

Reputation: 116110

Use the set keyword only once, and comma-separate the values to set:

UPDATE orders o, orders_total_couponz otc
SET o.total_paid = o.total_paid - ( otc.converted_value * ( 1 + ( otc.tax_rate / 100 ) ) ),
    o.total_paid_tax_incl = o.total_paid_tax_incl - ( otc.converted_value * ( 1 + ( otc.tax_rate / 100 ) ) ),
    o.total_paid_tax_excl = o.total_paid_tax_excl - otc.converted_value,
    o.total_paid_tax_real = o.total_paid_tax_real - ( otc.converted_value * ( 1 + ( otc.tax_rate / 100 ) ) ),
    o.total_products = o.total_products - otc.converted_value,
    o.total_products_wt = o.total_products_wt - ( otc.converted_value * ( 1 + ( otc.tax_rate / 100 ) ) )
WHERE o.id_order = otc.orders_id

Upvotes: 1

Aman Aggarwal
Aman Aggarwal

Reputation: 18449

Do not use SET again and again. Use command like:

UPDATE orders o, orders_total_couponz otc
    SET o.total_paid = o.total_paid - ( otc.converted_value * ( 1 + ( otc.tax_rate / 100 ) ) ),
     o.total_paid_tax_incl = o.total_paid_tax_incl - ( otc.converted_value * ( 1 + ( otc.tax_rate / 100 ) ) ),
    o.total_paid_tax_excl = o.total_paid_tax_excl - otc.converted_value,
    o.total_paid_tax_real = o.total_paid_tax_real - ( otc.converted_value * ( 1 + ( otc.tax_rate / 100 ) ) ),
    o.total_products = o.total_products - otc.converted_value,
    o.total_products_wt = o.total_products_wt - ( otc.converted_value * ( 1 + ( otc.tax_rate / 100 ) ) )
WHERE o.id_order = otc.orders_id

Upvotes: 1

Related Questions