Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >MYSQL用laravel::语句创建事件

MYSQL用laravel::语句创建事件
EN

Stack Overflow用户
提问于 2019-06-06 12:23:35
回答 1查看 750关注 0票数 1

这个问题涉及到使用PHP变量绑定的MySQL查询的语句函数处理,而不是可能重复的here的PDO绑定过程。Laravel雄辩地在后端使用PDO,但是DB::statement函数的结构与PDO方法中的方法不同。

我正在尝试让我的控制器的存储函数在将条目保存到数据库时创建一个mysql事件。提交表单时,Laravel将抛出错误。

'SQLSTATEHY093:无效的参数号:绑定变量的数量与令牌的数量不匹配(SQL:每5分钟按计划创建事件测试,进行更新寻呼机设置escalation_level = escalation_level +1,其中id = :issue)‘。

我正在尝试重新创建以下MySQL查询

代码语言:javascript
代码运行次数:0
复制
CREATE EVENT test ON SCHEDULE EVERY 5 MINUTE DO UPDATE issues SET escalation_level = escalation_level + 1 WHERE id = 'Rd8409347-70bb-4e3e-b351-b49c10ce9a2a';

在我看来,我似乎在查询中有一个变量,然后在数组中传递了一个变量,所以我似乎无法让查询成功。下面是表单提交给的控制器。谢谢你的帮助。

IssueController.php

代码语言:javascript
代码运行次数:0
复制
  public function store(Request $request)
{
    //Validate Input
    $request->validate([
       'company_id' => 'string|max:255',
       'message' => 'required|string|max:255' 
    ]);

    //Once the form input has passed validation add input to the database

    $issueData = new Issue();
    $issueData->id = "R" . Uuid::generate(4)->string;
    $issueData->company_id = $request->company_id;
    $issueData->first_name = Auth::user()->first_name;
    $issueData->last_name = Auth::user()->last_name;
    $issueData->user_id = Auth::user()->id;
    $issueData->message = $request->message;


    //Create MySQL event to increment escalation level
    //Event will be named equal to the new page 'R' ID
    //That has just been generated.

    DB::statement('CREATE EVENT test ON SCHEDULE EVERY 5 MINUTE DO UPDATE issues SET escalation_level = escalation_level + 1 WHERE id = :issue_id', array('issue_id' => $issueData->id));

    $issueData->save();

    return redirect('home')->with('status', ['Message sent successfully.', 
        'You can monitor the status of your message from Check Status section']);

}
EN

回答 1

Stack Overflow用户

发布于 2019-06-07 07:33:36

我在SO post here的帮助下发现了这个问题。Laravel中的一些查询需要使用未准备好的语句。我能够通过使用DB::Un准备解决这些问题,如下所示:

代码语言:javascript
代码运行次数:0
复制
        DB::unprepared('CREATE EVENT event_name ON SCHEDULE EVERY 5 MINUTE DO UPDATE issues SET escalation_level = escalation_level + 1 WHERE id = ' . '/'' . $issueData->id . '/'');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56484626

复制
相关文章
用laravel dingo/api创建产品api
  沿着上一篇来讲,我们来创建一个简单的item产品api,也是用到laravel dingo/api来实现,对dingo/api不熟的朋友可以翻看前面的文章。好,我们随着ytkah一起来创建产品api
ytkah
2018/08/01
7360
用laravel dingo/api创建产品api
使用SQL语句创建表_用sql语句创建员工表
create table 表名 (列1 数据类型 1,列2 数据类型) tablespace 表空间
全栈程序员站长
2022/11/19
4.1K0
使用SQL语句创建表_用sql语句创建员工表
SQL语句中创建表的语句_用sql创建表
连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用加空格,其它也一样)
全栈程序员站长
2022/11/03
4.7K0
SQL语句中创建表的语句_用sql创建表
mysql创建表的sql语句_mysql增删改查语句
②写SQL语句: 创建表的SQL语句一般格式: CREATE TABLE <表名>( <列名> <数据类型> [列级完整性约束定义] {, <列名> <数据类型> [列级完整性约束定义] … } [,表级完整性约束定义]
全栈程序员站长
2022/11/19
7.7K0
mysql创建表的sql语句_mysql增删改查语句
用laravel dingo/api创建简单的api
如果你曾经使用过 API 你就会知道大多数服务都来自子域或前缀。前缀或子域是必须的,但只需要一个。请避免使用版本号作为你的前缀或子域,因为版本控制是通过 header 头 Accept 处理的。
ytkah
2018/08/01
2K0
Laravel 事件
php artisan make:listener PublishArticlesListener --event=PublishArticlesEvent
崔哥
2023/03/24
7900
sqlserver怎么用语句创建表_mysql查询表的创建语句
原文地址:http://database.51cto.com/art/201010/231018.htm
全栈程序员站长
2022/11/02
8.7K0
mysql用sql语句创建表和数据库设置字符编码
set character_set_client = gbk; -- 来自客户端的语句的字符集。服务器使用character_set_client变量作为客户端发送的查询中使用的字符集。
Sindsun
2019/12/11
11.1K0
powerdesigner生成mysql语句_oracle创建表的sql语句
在实际工作中,一张表,我们可能需要在Mysql数据库中建表,又要在Oracle数据库中建表。表中每个字段的数据类型、中文注释、是否可为NULL 问题,非常影响我们建表的效率。本篇文章,以Mysql数据库表为原表,通过PowerDesigner工具将其转化成Oracle数据库建表语句。
全栈程序员站长
2022/10/04
5.8K0
powerdesigner生成mysql语句_oracle创建表的sql语句
SpringDataJpa 用MySQL语句怎么分页,spring全家桶SpringDataJpa 用MySQL语句怎么分页
注意:用MySQL语句查询时,@Query(value ="语句",nativeQuery = true)中的 nativeQuery = true 必须加上,否则不生效,因为默认不是Sql语句! 控制器层(controller):
用户9006224
2022/12/21
3.1K0
oracle创建索引的sql语句_mysql创建组合索引
创建索引一般分为在线索引和非在线索引,在线与非在线的区别:非在线锁表,优先创建索引,此时DML都被阻塞,所以快;相反,在线锁的是行而非表,通过临时表进行索引的创建,所以不会影响DML操作,但副作用就是慢。 如果在生产环境操作,不停服务的话,势必导致创建索引期间仍有DML操作进来。另外如果是大表,那么采用非在线而导致锁表所带来的影响可能会很大。一句话,生产环境不停服的脚本操作,建议使用online。 1、创建索引。
全栈程序员站长
2022/10/03
3.8K0
MySQL CREATE DATABASE语句创建数据库
在安装并配置好MySQL的Linux系统上,先用以下两条命令打开 MySQL 服务并使用 root 登录:
星哥玩云
2022/08/18
3.5K0
MySQL CREATE DATABASE语句创建数据库
【说站】mysql如何使用语句创建表
2、允许NULL值、DEFAULT表示该列的默认值、PRIMARY KEY用于指定主键、ENGINE用于指定引擎类型。
很酷的站长
2022/11/23
2.1K0
Laravel的模型事件 入门
creating, created, updating, updated, saving, saved, deleting, deleted, restoring, restored
无道
2020/01/24
1.2K0
【Laravel系列7.5】事件系统
说到事件,你会想到什么?JS 中的回调函数,按扭的回调事件?没错,这些都是事件的应用。不过在 Laravel 中,事件是一种解耦机制,是 观察者 模式的一种体现。它能够允许你订阅和监听在你的应用中发生的各种事件。最典型的例子,当你操作完订单后,需要发送短信、邮件或者应用内通知的时候,我们一般就会使用观察者模式来实现。而事件,则是对这一操作的封装,非常方便好用。
硬核项目经理
2023/03/03
1.7K0
【Laravel系列7.5】事件系统
Mysql 添加字段或者创建表SQL语句「建议收藏」
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/07
5.4K0
Mysql 添加字段或者创建表SQL语句「建议收藏」
Mysql 语句
运行mysql时候出现:[Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 解决方法:mysqld下加一行
用户2657851
2020/03/04
4.9K0
SQL语句创建视图:
定义: 根据用户的各种需求重新构造表的数据结构,这种数据结构就是视图. 视图是从一张或多张表中导出来的表,它不是真实存在的基本表,而是一张虚表,并没有像基本表一样存储在数据库中,而是相当于一个查询结果集合保存一样.
初阶牛
2023/02/25
1.5K0
SQL语句创建视图:
Laravel源码解析之事件系统
Laravel 的事件提供了一个简单的观察者实现,能够订阅和监听应用中发生的各种事件。事件机制是一种很好的应用解耦方式,因为一个事件可以拥有多个互不依赖的监听器。 laravel 中事件系统由两部分构成,一个是事件的名称,事件的名称可以是个字符串,例如 event.email,也可以是一个事件类,例如 App\Events\OrderShipped;另一个是事件的 监听器 listener,可以是一个闭包,还可以是监听类,例如 App\Listeners\SendShipmentNotification。
KevinYan
2019/10/13
1.1K0
[译]Laravel 5.0 之事件自动生成
本文译自 Matt Stauffer 的系列文章. ---- 创建一个事件及其处理程序,再把两者关联起来,或者创建一个命令及其处理程序,再把两者关联起来。有时候这看起来需要大量的工作。因此我经常期望能有一个工作流可以把所有这些工作整合在一起来处理。 用来创建事件和命令的 Artisan 命令是一个很好的开始,它能同时创建命令或事件的实体并且同时生成它们的处理程序(可选的)。但编写命令和处理程序依然需要花费个把小时的时间,然后还得再花另外的 15 分钟来调试它们。或许花了大量的时间之后才发现问题其实只是因为
小李刀刀
2018/03/02
8340

相似问题

用laravel迁移创建mysql事件?

22

MySql用IF语句创建记录

16

用PHP执行mysql“创建函数”语句

15

用Python为MySQL创建Insert语句

13

用laravel调度事件

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文