【发布时间】:2015-03-13 21:29:30
【问题描述】:
我上网寻找并回答这个问题,但我找不到答案。
我想在更新或插入之前检查四列。我不能使用 INSERT...ON DUPLICATE KEY UPDATE 因为它不允许 where 子句。所以我尝试使用我创建的以下语句。
"SELECT COUNT(id) INTO @count FROM room_prices WHERE (hotel_di = $hotel_id AND room_id = $room_id AND period_id = $periodId AND meal_plan_id = $mealPlanId) "
. "IF @count > 0 THEN "
. "UPDATE room_prices SET price = $price WHERE (hotel_di = $hotel_id AND room_id = $room_id AND period_id = $periodId AND meal_plan_id = $mealPlanId) "
. "ELSE "
. "INSERT INTO room_prices (hotel_id, room_id, period_id, meal_plan_id, price) VALUES ($hotel_id, $room_id, $periodId, $mealPlanId, $price) "
. "END IF"
但这一个也不起作用。它给出了这个错误。
您提交的查询无效。
有没有办法做到这一点?
【问题讨论】:
标签: mysql sql sql-update insert-update