重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

mysql怎么查触发器 mysql触发器 sql

如何测试mysql触发器和存储过程

1.

成都创新互联公司主营轵城网站建设的网络公司,主营网站建设方案,重庆APP软件开发,轵城h5微信小程序定制开发搭建,轵城网站营销推广欢迎轵城等地区企业咨询

为了测试触发器和存储过程,首先建立一张简单的表:

复制代码

代码如下:

CREATE

TABLE

`airuser`

(

`userId`

int(11)

NOT

NULL

AUTO_INCREMENT,

`username`

varchar(128)

NOT

NULL,

PRIMARY

KEY

(`userId`)

)ENGINE=InnoDB

DEFAULT

CHARSET=utf8

2.

为该表的插入操作,创建一张记录表:

复制代码

代码如下:

CREATE

TABLE

`airuser_record`

(

`id`

int(11)

NOT

NULL

AUTO_INCREMENT,

`username`

varchar(45)

DEFAULT

NULL,

`edittime`

timestamp

NULL

DEFAULT

NULL,

`edittype`

varchar(45)

DEFAULT

NULL,

PRIMARY

KEY

(`id`)

)

ENGINE=InnoDB

DEFAULT

CHARSET=utf8

3.

编写一个插入操作的触发器:

复制代码

代码如下:

DROP

TRIGGER

insert_trigger;

delimiter

|

CREATE

TRIGGER

insert_trigger

BEFORE

INSERT

ON

airuser

FOR

EACH

ROW

BEGIN

INSERT

INTO

airuser_record

SET

username

=

NEW.username,

edittime=now(),

edittype='insert';

END;

SHOW

TRIGGERS;

4.

为批量插入编写存储过程:

复制代码

代码如下:

DROP

procedure

createUsers;

delimiter

|

create

procedure

createUsers(IN

count

int)

begin

declare

i

int;

set

i=0;

while

icount

do

insert

into

airuser

set

username=concat('user_',i);

set

i=i+1;

end

while;

end;

show

procedure

status;

5.

调用存储过程,验证存储过程是工作的,并验证在插入记录前,触发器能正确被触发:

复制代码

代码如下:

call

createUsers(10);

6.

最后通过插入记录表再次验证:

复制代码

代码如下:

SELECT

*

FROM

mars_jpa.airuser_record;

如何检查mysql 触发器是否正常

这个你只能写sql 语句去数据库里面去查询触发器是否存在了 不是有个 if exists(SELECT * FROM information_schema.`TRIGGER `;) drop TRIGGER room_kq_detail_times

mysql怎么看约束和触发器?

可以从information_schema架构下的系统表查看\x0d\x0a \x0d\x0a-- 查看约束\x0d\x0aSELECT * FROM information_schema.`TABLE_CONSTRAINTS`;\x0d\x0a \x0d\x0a-- 查看触发器\x0d\x0aSELECT * FROM information_schema.`TRIGGERS`;

mysql如何查看表中的所有约束和触发器?

可以从information_schema架构下的系统表查看

-- 查看约束

SELECT * FROM information_schema.`TABLE_CONSTRAINTS`;

-- 查看触发器

SELECT * FROM information_schema.`TRIGGERS`;


本文名称:mysql怎么查触发器 mysql触发器 sql
文章分享:http://cqcxhl.com/article/ddocsep.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP