MySQL与SQL的触发器的不同写法_Mysql

<触发器作用>
当在SQL、MySQL数据库中一张表中插入一条记录时,触动触发器,使同一数据库的另一张表插入相同记录。
在学习的过程中,发现两者的写法是不同的。
<触发器作用>

1、在SQL中建立两张表sql_test,sql_tem。(两张表的字段是一样的)

复制代码 代码如下:

create table sql_test
(
id int,
name varchar(16)
)

create table sql_tem
(
id int,
name varchar(16)
)

复制代码 代码如下:

/*SQL的触发器写法*/
create trigger insert_sql_test on sql_test
for insert
as
insert into sql_tem
select * from inserted
go
/*SQL的触发器写法*/

2、在MySQL中建立两张表mysql_test,mysql_tem。(两张表的字段是一样的,建表语句与上面的类似)

复制代码 代码如下:

/*MySQL的触发器写法*/
delimiter//
create trigger insert_mysql_test before insert on test
for each row
begin
insert into tem set id = new id , name = new name;
/*new后面的id,name是test表的字段名*/
end
//
/*MySQL的触发器写法*/

时间: 2024-09-20 05:53:24

MySQL与SQL的触发器的不同写法_Mysql的相关文章

Mysql事项,视图,函数,触发器命令(详解)_Mysql

事项开启和使用 //修改表的引擎 alter table a engine=myisam; //开启事务 begin; //关闭自动提交 set autocommit=0; //扣100 update bank set money=money-100 where bid=1; //回滚,begin开始的所有sql语句操作 rollback; //开启事务 begin; //关闭自动提交 set autocommit=0; //扣100 update bank set money=money-10

MySQL导入sql脚本错误:2006 解决方法_Mysql

MySQL导入sql脚本错误:2006 - MySQL server has gone away 到如一些小脚本很少报错,但最近导入一个10+M的SQL脚本,却重复报错: Error occured at:2014-03-24 11:42:24 Line no.:85 Error Code: 2006 - MySQL server has gone away 最终找到原因,原来是MySQL导入大批量数据的时候超出了默认允许最大的数据包所以就提示2006 - MySQL server has go

MySQL与SQL Server的一些区别浅析_Mysql

1.mysql支持enum,和set类型,sql server不支持 2.mysql不支持nchar,nvarchar,ntext类型 3.mysql的递增语句是AUTO_INCREMENT,而mssql是identity(1,1) 4.mssql默认到处表创建语句的默认值表示是((0)),而在mysql里面是不允许带两括号的 5.mysql需要为表指定存储类型 6.mssql识别符是[],[type]表示他区别于关键字,但是mysql却是 `,也就是按键1左边的那个符号 7.mssql支持ge

MySQL、SQL Server 和 Oracle 触发器的创建

场景:当 users 表在 insert,update,delete 时,在 users_log 表中记录变更的 id MySQL触发器的创建 触发时机:BEFORE,AFTER 触发事件:INSERT,UPDATE,DELETE NEW 和 OLD 关键字: | action | NEW | OLD | |--------|----------------|----------------| | insert | 插入的新数据 | 无 | | update | 修改为的新数据 | 被修改的原数

关于sql server查询语句的写法。

问题描述 关于sql server查询语句的写法. 怎样写一个查询语句select distinct ID from TrainTime order by ID select Station from TrainTime where S_No='1'order by ID select Stationfrom TrainTime where D_Time='-' order by ID 怎样把这3个查询语句写为一句啊,让查询查来的结果为这3列数据. 因为我想建一个表,为3列,列名为:列车车次.起

MySQL触发器使用详解_Mysql

MySQL包含对触发器的支持.触发器是一种与表操作有关的数据库对象,当触发器所在表上出现指定事件时,将调用该对象,即表的操作事件触发表上的触发器的执行. 创建触发器 在MySQL中,创建触发器语法如下: 复制代码 代码如下: CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt 其中: trigger_name:标识触发器名称,用户自行指定: trigger_tim

MySQL数据库SQL语句的C++ ODBC接口类测试结果 (转载)

c++|mysql|odbc|数据|数据库|语句 发信人: engineer (剑胆琴心~还是得走,sigh...), 信区: Linux 标  题: MySQL数据库SQL语句的C++ ODBC接口类测试结果 (转载) 发信站: BBS 水木清华站 (Mon Aug  9 18:03:47 1999)   [ 以下文字转载自 Database 讨论区 ] [ 原文由 engineer 所发表 ]         MySql数据库SQL语句的C++ ODBC接口类测试结果            

PHP+MYSQL网站SQL Injection攻防

程序员们写代码的时候讲究TDD(测试驱动开发):在实现一个功能前,会先写一个测试用例,然后再编写代码使之运行通过.其实当黑客SQL Injection时,同样是一个TDD的过程:他们会先尝试着让程序报错,然后一点一点的修正参数内容,当程序再次运行成功之时,注入也就随之成功了. 进攻: 假设你的程序里有类似下面内容的脚本: $sql = "SELECT id, title, content FROM articles WHERE id = {$_GET['id']}"; 正常访问时其UR

MySQL和SQL Server在插入数据上的差别

环境:MySQL Sever 5.1 + SQLServer 2008 R2 问题:MySQL和SQLServer在插入数据上的差别 先看两张图: MySQL: SQLServer: 在MySQL里创建表,主键自增 ,在插入数据时,不指定列名(表示对每个字段都赋值),会报列数不匹配,指定列名后插入正常:而在 SQLServer里,表的主键同样是自增,不指定列名却可以正常插入. 附 SQL: MySQL create table tb_user(id int primary key auto_in