- 已关闭**。此问题需要details or clarity。当前不接受答案。
- 想要改进此问题?**添加详细信息并通过editing this post阐明问题。
2小时前关门了。
Improve this question
SELECT f.user_id, f.item_id, f.status, f.shipped,
CASE
WHEN f.status = 0 THEN UPDATE f SET f.status = 1 WHERE f.user_id = 1 AND f.item_id = 1
WHEN f.status = 1 THEN UPDATE f SET f.status = 0 WHERE f.user_id = 1 AND f.item_id = 1
ELSE 'ERROR'
END CASE
FROM business AS f;
您好,我想根据某个项目的值(0或1)更新其状态。但仍然出现语法错误。我是否使用了正确的条件语句,还是应该使用IF()?如果是,如何在IF()中放置另一个查询?
谢谢大家!
2条答案
按热度按时间f2uvfpb91#
如果要更新表中的实际数据,请使用
UPDATE
语句,而不是SELECT
语句:运行此命令将更新
business
表中的记录其中user_id = 1
和item_id=1
切换status
的值,除非当前状态值不是1
或0
,在这种情况下,它会将status
设置为-1
。请注意,字符串'error'
不能用作值,除非此列是varchar
或类似的字符串类型列。ubof19bj2#
这是一个非常简单的SQL查询: