mysql 触发器计算总价,mysql’插入’触发器根据其他字段计算字段

我正在尝试创建一个触发器,它将根据用户输入的lat / lng列更新GEOMETRY列.我的触发器看起来像这样 –

CREATE TRIGGER `tbl.foo`

AFTER INSERT ON `tbl` FOR EACH ROW

BEGIN

UPDATE tbl

SET coord = Point(lng, lat)

WHERE id = NEW.id;

END

但是,当我插入一个带有lng,lat值的新行时,我收到以下错误 –

ERROR 1442 (HY000): Can’t update table ‘tbl’ in stored function/trigger because it is already used by statement which invoked this stored function/trigger.

我可以不创建这样的触发器吗?如果没有,自动化的方法是什么?

解决方法:

尝试使用BEFORE INSERT触发器并修改所需的值,例如 –

CREATE TRIGGER trigger1

BEFORE INSERT

ON table1

FOR EACH ROW

BEGIN

SET NEW.column1 = 'another value';

END

编辑

CREATE TABLE table_test_trigger (

id INT(11) NOT NULL AUTO_INCREMENT,

a INT(11) DEFAULT NULL,

b INT(11) DEFAULT NULL,

c INT(11) DEFAULT NULL,

PRIMARY KEY (id)

);

DELIMITER $$

CREATE TRIGGER trigger1

BEFORE INSERT

ON table_test_trigger

FOR EACH ROW

BEGIN

SET NEW.c = NEW.a + NEW.b;

END

$$

DELIMITER ;

INSERT INTO table_test_trigger(a, b) VALUES (10, 5);

SELECT * FROM table_test_trigger;

+----+------+------+------+

| id | a | b | c |

+----+------+------+------+

| 1 | 10 | 5 | 15 |

+----+------+------+------+

标签:sql,mysql,triggers

来源: https://codeday.me/bug/20190826/1734299.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/332712.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle连接外部数据库_使用Oracle验证外部数据

oracle连接外部数据库我经常在Corda Slack频道中闲逛,并尽可能回答问题。 我尝试回答的合理数量的问题与Oracle有关。 更具体地说,何时使用。 我觉得我可以回答,“当您需要验证可能经常更改的外部数据时使用Oracle”。 我大概在某个时候写了一…

macOS如何格式化移动硬盘和U盘

1.打开磁盘工具 2.在左侧选择要格式化的外置磁盘设备,接着在右上角点击【抹掉】 3.点击【抹掉】会弹出如下的对话框,在格式中建议选择 ExFAT 格式,这是一个在 Windows 和 macOS 都可以使用的文件系统格式 选择好要格式化的文件系统格式后&…

macOS查看IP地址的命令

查看内网的 IP 地址&#xff1a; [~]$ ipconfig getifaddr en0 192.168.30.25 # 或者 [~]$ ifconfig en0 en0: flags8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500options400<CHANNEL_IO>ether d4:61:9d:11:c2:94 inet6 fe80::cbc:309b:57a4:5cf6…

mysql注入漏洞语句,web安全之sql注入漏洞

概念通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串&#xff0c;最终达到欺骗服务器执行恶意的SQL命令。通俗地讲&#xff0c;它是利用现有应用程序&#xff0c;将(恶意)的SQL命令注入到后台数据库引擎执行的能力&#xff0c;它可以通过在Web表单中输入(恶意…

ssrs 基于表达式显示_基于表达式的访问控制

ssrs 基于表达式显示1.概述 今天&#xff0c;我们将回顾基于表达式的访问控制&#xff08;EBAC&#xff09;&#xff0c;基于角色的访问控制&#xff08;RBAC&#xff09;和基于属性的访问控制&#xff08;ABAC&#xff09;之间的区别&#xff0c;并将重点放在EBAC上。 2.什么…

macOS下载、安装、使用tomcat服务器及IntelliJ IDEA for Mac 如何集成、配置、运行tomcat

文章目录web 服务器软件tomcat如何下载安装 tomcatmacOS 下如何启动 tomcatWindows 启动 tomcat部署项目的方式直接将项目放到 webapps 目录下即可在 tomcat 的配置文件 server.xml 中进行配置部署在 tomcat 的 localhost 目录下通过 xml 文件完成部署IntelliJ IDEA 集成 tomca…

run spark pi_Spark Run本地设计模式

run spark pi现在&#xff0c;许多Spark应用程序已成为遗留应用程序&#xff0c;很难在本地进行增强&#xff0c;测试和运行。 Spark具有很好的测试支持&#xff0c;但仍有许多Spark应用程序不可测试。 当您尝试运行一些旧的Spark应用程序时&#xff0c;我将分享一个常见错误…

php 表单 同步,Jquery点击按钮 异步和同步提交表单

最近在开发一个jsp学生信息管理系统&#xff0c;由于刚刚接触jsp&#xff0c;遇到问题比较多&#xff0c;特此记录与大家分享。Jquery ajax提交表单到servlet示例前台部分代码&#xff1a;姓名学号 ajax提交表单代码&#xff1a;//增加学生&#xff0c;异步提交学生表单$(&q…

IntelliJ IDEA for Mac如何配置数据源(Data Source)和用户驱动(User Driver)及数据库控制台_数据源配置(Console)详解

文章目录直接添加数据源&#xff08;Data Source&#xff09;添加驱动和数据源&#xff08;Driver and Data Source&#xff09;驱动数据库控制台直接添加数据源&#xff08;Data Source&#xff09; 直接添加数据源&#xff0c;IDE 会默认指定数据库驱动&#xff0c;如下图所示…

app aws_服务网格:Istio和AWS App Mesh

app aws本周在AWS re&#xff1a;Invent上的重大公告之一是AWS App Mesh 。 在谈论它之前&#xff0c;让我们先看一下网格到底是什么…… 什么是服务网格&#xff1f; 服务网格是微服务体系结构的基础结构层。 它处理服务之间的通信问题&#xff0c;使该通信更加可见&#xf…

php screw 密钥,php-screw php代码加密工具用法(整理)

1、进入http://sourceforge.net/projects/php-screw/下载最新版本php_screw-1.5.tar.gz 解压安装&#xff1a; #tar zxf php_screw-1.5.tar.gz #cd php_screw-1.5 #vi php_screw.h 将 #define PM9SCREW “\tPM9SCREW\t” #define PM9SCREW_LEN 10 修改为任意字串,如&#xff1a…

IntelliJ IDEA如何部署项目、部署方式以及部署相关的操作

文章目录工件列表工件类型添加工件部署项目exploded 工件的部署war 工件的部署手动部署项目war 包部署exploded 部署部署有关的操作deploy/redeploy&#xff08;部署/重新部署&#xff09;rerun/run&#xff08;重启服务器/启动服务器&#xff09;Update resources&#xff08;…

php恒等符,php学习笔记(三)操作符与控制结构

php学习笔记(三)操作符与控制结构更新时间&#xff1a;2011年08月06日 20:09:31 作者&#xff1a;好久没更新了&#xff0c;这段时间挺忙的。下面继续php学习 之 操作符与控制结构&#xff1b;一&#xff0e;字符串插入为了给开发人员处理字符串值提供最大的灵活性&#xff0…

spring框架三层架构_Spring框架架构

spring框架三层架构这是Spring Framework Architecture的概述。 了解Spring Framework的各个组成部分如何组织以及如何相互联系。 如果您想了解什么是Spring框架及其功能&#xff0c;请阅读Spring框架简介 。 总览 Spring是一个模块化框架 。 它不是作为一个软件包或多个模块捆…

IntelliJ IDEA for Mac如何管理SDK/JDK,模块如何设置SDK/JDK?

文章目录管理 IDE 中的 SDK设置模块依赖的 SDK管理 IDE 中的 SDK 设置模块依赖的 SDK

php 数组是否属于迭代器,数组的迭代器属性Iterator介绍

[导读]数组默认有迭代器属性数组默认有迭代器属性var arr [111,222,333];var aa arr[Symbol.iterator]();aa.next(); // { value: 111, done: false }aa.next(); // { value: 222, done: false }aa.next(); // { value: 333, done: false }aa.next(); // { value: undefined,…

elk 聚合日志_使用ELK堆栈进行日志聚合

elk 聚合日志1.简介 随着微服务的使用&#xff0c;创建稳定的分布式应用程序和摆脱许多遗留问题变得很容易。 但是微服务的使用也带来了一些挑战&#xff0c; 分布式日志管理就是其中之一。 由于微服务是隔离的&#xff0c;因此它们不共享数据库和日志文件&#xff0c;因此实时…

Java对象如何实现比较规则

文章目录一、Comparable二、Comparator示例代码一、Comparable public interface Comparable 此接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序&#xff0c;类的 compareTo 方法被称为它的自然比较方法。 实现此接口的对象列表&#xff08;和数组…

python教材目录,python 目录

python在安装的时候&#xff0c;就自带了很多模块&#xff0c;我们把这些模块称之为标准库&#xff0c;其中&#xff0c;有一个是使用频率比较高的&#xff0c;就是 os 。这个库中方法和属性众多&#xff0c;有兴趣的看官可以参考官方文档&#xff1a;https://docs.python.org/…

quartus状态机生成_生成器作为(快速失败)状态机

quartus状态机生成这个想法是几周前在设计“生成器”类时想到的&#xff0c;该类必须将输入发送给封装的Writer 。 实际上&#xff0c;它是Builder模式。 但是&#xff0c;规则有些复杂&#xff0c;用户必须以某种方式调用add...()方法&#xff0c;才能正确生成输出。 不用说&…