MySQL IF语句更新MySQL列


MySQL IF Statement Updating MySQL Column

你好,我对mysql有问题。我不是很擅长mysql,但我想每分钟更新一列,所以我写了一个事件来每分钟更新列,但我的代码有问题?

SELECT * FROM resources
IF wood < warehouse THEN
    UPDATE `resources` SET `wood`= wood + 10
ELSE
    UPDATE `resources` SET `wood`= wood
END IF;
IF stone < warehouse THEN
    UPDATE `resources` SET `stone`= stone + 10
ELSE
    UPDATE `resources` SET `stone`= stone
END IF;
IF metal < warehouse THEN
    UPDATE `resources` SET `metal`= metal + 10
ELSE
    UPDATE `resources` SET `metal`= metal
END IF;

我真的希望你能做如果声明,因为我想更新木材、石头、金属,但不让它超过仓库空间限制?有线索吗?

MySQL支持UPDATE语句中的IF条件。你的陈述可能是这样的:
UPDATE  `ressources`
SET     `wood` = IF(wood < warehouse, wood + 10, wood),
        `stone` = IF(stone < warehouse, stone + 10, stone),
        `metal` = IF(metal < warehouse, metal + 10, metal);

你在找这样的东西吗?

UPDATE `resources` 
SET `wood`= IF(wood < warehouse, wood + 10, wood),
stone = IF(stone < warehouse, stone + 10, stone),
...;