当我修改入库表中的state = 1时,将入库的物资名称、数量及单位存进库存表中。
请问用MySQL触发器的话,应该怎么写呢?
另外,因为我的入库表会比库存表多一些内容,怎么确定存入库存表中的内容是我想要的物资名称、数量、单位而不是别的内容呢
同时修改两个MySQL数据库表
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- Java码库 2023-03-22 21:53关注
可以使用MySQL触发器来实现当state等于1时,将入库的物资名称、数量及单位存进库存表中的操作。 可以使用以下代码来创建触发器:
CREATE TRIGGER trigger_name AFTER UPDATE ON 入库表 FOR EACH ROW BEGIN IF NEW.state = 1 THEN INSERT INTO 库存表 (物资名称, 数量, 单位) VALUES (NEW.物资名称, NEW.数量, NEW.单位); END IF; END
其中,
trigger_name
是触发器的名称,入库表
和库存表
分别是入库表和库存表的名称。NEW
关键字表示新的更新值,OLD
关键字表示旧的更新值。如果你想确保只有特定的列被存入库存表中,可以在
INSERT INTO
语句中指定需要的列。例如,如果你只想存储物资名称
、数量
和单位
列,可以使用以下代码:INSERT INTO 库存表 (物资名称, 数量, 单位) VALUES (NEW.物资名称, NEW.数量, NEW.单位);
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 关于大棚监测的pcb板设计
- ¥15 stm32开发clion时遇到的编译问题
- ¥15 lna设计 源简并电感型共源放大器
- ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
- ¥15 Vue3地图和异步函数使用
- ¥15 C++ yoloV5改写遇到的问题
- ¥20 win11修改中文用户名路径
- ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
- ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
- ¥15 帮我写一个c++工程