You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL触发器中如何通过new命令访问含空格的属性

MySQL触发器中访问带空格字段的正确方式

当表字段名包含空格时,MySQL要求必须用**反引号()**包裹字段名才能正确识别,在触发器中访问NEW`对象的带空格字段时同样需要遵循这个规则。

针对你的场景,不需要修改Maximum Seats字段名,直接通过NEW.Maximum Seats``的形式就能访问该字段的值。

另外需要注意你原触发器代码存在两个问题:

  • 循环条件WHILE count < new.Maximum_Seats会遗漏最后一个座位(比如最大座位数为5时,只会插入1-4号座位),建议改为<=;
  • 代码中缺少count的自增语句,会导致循环无法终止,必须添加SET count = count + 1;。

修正后的完整触发器代码如下:

CREATE TRIGGER auto_populate AFTER INSERT ON rooms
FOR EACH ROW
BEGIN
    DECLARE count INT;
    SET count = 1;
    WHILE count <= NEW.`Maximum Seats` DO
        INSERT INTO `room occupancy` (`RoomID`, `Seat Number`) VALUES (NEW.RoomID, count);
        SET count = count + 1;
    END WHILE;
END

内容的提问来源于stack exchange,提问作者Danial

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 01:07:38