MySQL:具有派生列的可更新 View ; "INSTEAD OF UPDATE"触发器的等效功能

标签 mysql sql

我想要一个包含派生列的 View 。例如,我有一个包含字段的表:数量和价格。然后我的 View 具有这些字段以及计算字段 Qty*Price。

我正在使用 MySQL。据我了解,如果有派生表(可更新和可插入 View - http://dev.mysql.com/doc/refman/5.0/en/view-updatability.html),MySQL 不允许编辑 View 。

当我使用 sqlite 时,我能够通过创建“INSTEAD OF UPDATE”触发器来解决这个问题(例如,请参阅 this stackoverflow 响应)。然而,MySQL 显然不允许这种类型的触发器。 (MySQL 触发器语法 -- http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html)

是否有任何其他方法可以通过 MySQL 获得这种功能——即具有派生列的 View 也可编辑?显然,我可以在没有 View 的应用程序端执行此操作,但如果可能的话,我更喜欢在数据库端执行此操作。

最佳答案

为什么不用 subtotal 列,使用 BEFORE INSERTBEFORE UPDATE 触发器将其值设置为 Qty*Price?

关于MySQL:具有派生列的可更新 View ; "INSTEAD OF UPDATE"触发器的等效功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15257355/

相关文章:

sql - redshift 无法识别的节点类型 407

c# - Entity Framework 在 where 子句上添加了一个额外的条件

javascript - Laravel - 在保存到数据库之前删除 JSON header

PHP 问题,不从数据库回显数据

php - 如何从 mysql 日期时间列回显转换后的时间格式

mysql - SQL - 在 UPDATE 语句中提供 AS 关键字

MySQL语句选择特定列的最新条目

SQL:从当前行选择数据字段

sql - 在swift中通过命令行重建SQL数据库

mysql - 将access SQL转换为MYSQL,如何If(isnull(Max(插入的一列