0
INSERT INTO orders_total SET `title`='Discount Coupon:', `text` = '-$40.00', `value` = '40.00' WHERE `orders_id` = '15474' AND `class`='ot_coupon

次のmysqlエラーが発生します。

#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 'WHERE `orders_id` = '15474' AND `class`='ot_coupon'' at line 1

私が間違っていることは何ですか?

4

1 に答える 1

4

INSERTステートメントは、新しい行を挿入し、既存の行を更新することを目的としてWHEREいるため、句はINSERT. するつもりでしたUPDATE

UPDATE orders_total
SET 
  `title`='Discount Coupon:', 
  `text` = '-$40.00', 
  `value` = '40.00'
WHERE 
  `orders_id` = '15474' 
  AND `class`='ot_coupon'

コメントの後に編集:

これが更新ではなく挿入を意図していた場合、 のような条件に依存することはできませんorders_id = 15474。新しい行を挿入する場合は、それらの値も挿入する必要があります。

INSERT INTO orders_total (`orders_id`, `class`, `title`, `text`, `value`) VALUES (15474, 'ot_coupon', 'Discount Coupon:', '-$40.00', '40.00');
于 2012-06-28T12:33:52.990 に答える