<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.sqle.ru/index.php?action=history&amp;feed=atom&amp;title=MySQL_Tutorial%2FTrigger%2FBefore_Trigger</id>
		<title>MySQL Tutorial/Trigger/Before Trigger - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.sqle.ru/index.php?action=history&amp;feed=atom&amp;title=MySQL_Tutorial%2FTrigger%2FBefore_Trigger"/>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=MySQL_Tutorial/Trigger/Before_Trigger&amp;action=history"/>
		<updated>2026-05-24T06:57:28Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.sqle.ru/index.php?title=MySQL_Tutorial/Trigger/Before_Trigger&amp;diff=301&amp;oldid=prev</id>
		<title> в 13:44, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=MySQL_Tutorial/Trigger/Before_Trigger&amp;diff=301&amp;oldid=prev"/>
				<updated>2010-05-26T13:44:56Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 13:44, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.sqle.ru/index.php?title=MySQL_Tutorial/Trigger/Before_Trigger&amp;diff=302&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=MySQL_Tutorial/Trigger/Before_Trigger&amp;diff=302&amp;oldid=prev"/>
				<updated>2010-05-26T09:49:44Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Before insert trigger==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; CREATE TABLE Employee(&lt;br /&gt;
    -&amp;gt;     id            int,&lt;br /&gt;
    -&amp;gt;     first_name    VARCHAR(15),&lt;br /&gt;
    -&amp;gt;     last_name     VARCHAR(15),&lt;br /&gt;
    -&amp;gt;     start_date    DATE,&lt;br /&gt;
    -&amp;gt;     end_date      DATE,&lt;br /&gt;
    -&amp;gt;     salary        FLOAT(8,2),&lt;br /&gt;
    -&amp;gt;     city          VARCHAR(10),&lt;br /&gt;
    -&amp;gt;     description   VARCHAR(15)&lt;br /&gt;
    -&amp;gt; );&lt;br /&gt;
Query OK, 0 rows affected (0.03 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;              values (1,&amp;quot;Jason&amp;quot;,    &amp;quot;Martin&amp;quot;,  &amp;quot;19960725&amp;quot;,  &amp;quot;20060725&amp;quot;, 1234.56, &amp;quot;Toronto&amp;quot;,  &amp;quot;Programmer&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(2,&amp;quot;Alison&amp;quot;,   &amp;quot;Mathews&amp;quot;,  &amp;quot;19760321&amp;quot;, &amp;quot;19860221&amp;quot;, 6661.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(3,&amp;quot;James&amp;quot;,    &amp;quot;Smith&amp;quot;,    &amp;quot;19781212&amp;quot;, &amp;quot;19900315&amp;quot;, 6544.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(4,&amp;quot;Celia&amp;quot;,    &amp;quot;Rice&amp;quot;,     &amp;quot;19821024&amp;quot;, &amp;quot;19990421&amp;quot;, 2344.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Manager&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(5,&amp;quot;Robert&amp;quot;,   &amp;quot;Black&amp;quot;,    &amp;quot;19840115&amp;quot;, &amp;quot;19980808&amp;quot;, 2334.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(6,&amp;quot;Linda&amp;quot;,    &amp;quot;Green&amp;quot;,    &amp;quot;19870730&amp;quot;, &amp;quot;19960104&amp;quot;, 4322.78,&amp;quot;New York&amp;quot;,  &amp;quot;Tester&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(7,&amp;quot;David&amp;quot;,    &amp;quot;Larry&amp;quot;,    &amp;quot;19901231&amp;quot;, &amp;quot;19980212&amp;quot;, 7897.78,&amp;quot;New York&amp;quot;,  &amp;quot;Manager&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(8,&amp;quot;James&amp;quot;,    &amp;quot;Cat&amp;quot;,     &amp;quot;19960917&amp;quot;,  &amp;quot;20020415&amp;quot;, 1232.78,&amp;quot;Vancouver&amp;quot;, &amp;quot;Tester&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.02 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; select * from Employee;&lt;br /&gt;
+------+------------+-----------+------------+------------+---------+-----------+-------------+&lt;br /&gt;
| id   | first_name | last_name | start_date | end_date   | salary  | city      | description |&lt;br /&gt;
+------+------------+-----------+------------+------------+---------+-----------+-------------+&lt;br /&gt;
|    1 | Jason      | Martin    | 1996-07-25 | 2006-07-25 | 1234.56 | Toronto   | Programmer  |&lt;br /&gt;
|    2 | Alison     | Mathews   | 1976-03-21 | 1986-02-21 | 6661.78 | Vancouver | Tester      |&lt;br /&gt;
|    3 | James      | Smith     | 1978-12-12 | 1990-03-15 | 6544.78 | Vancouver | Tester      |&lt;br /&gt;
|    4 | Celia      | Rice      | 1982-10-24 | 1999-04-21 | 2344.78 | Vancouver | Manager     |&lt;br /&gt;
|    5 | Robert     | Black     | 1984-01-15 | 1998-08-08 | 2334.78 | Vancouver | Tester      |&lt;br /&gt;
|    6 | Linda      | Green     | 1987-07-30 | 1996-01-04 | 4322.78 | New York  | Tester      |&lt;br /&gt;
|    7 | David      | Larry     | 1990-12-31 | 1998-02-12 | 7897.78 | New York  | Manager     |&lt;br /&gt;
|    8 | James      | Cat       | 1996-09-17 | 2002-04-15 | 1232.78 | Vancouver | Tester      |&lt;br /&gt;
+------+------------+-----------+------------+------------+---------+-----------+-------------+&lt;br /&gt;
8 rows in set (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; delimiter $$&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; CREATE TRIGGER myTrigger&lt;br /&gt;
    -&amp;gt; BEFORE INSERT ON employee&lt;br /&gt;
    -&amp;gt; FOR EACH ROW&lt;br /&gt;
    -&amp;gt; BEGIN&lt;br /&gt;
    -&amp;gt;      IF NEW.salary &amp;gt; 500 THEN&lt;br /&gt;
    -&amp;gt;         SET NEW.first_name=&amp;quot;Y&amp;quot;;&lt;br /&gt;
    -&amp;gt;      ELSE&lt;br /&gt;
    -&amp;gt;         SET NEW.first_name=&amp;quot;N&amp;quot;;&lt;br /&gt;
    -&amp;gt;      END IF;&lt;br /&gt;
    -&amp;gt; END$$&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; delimiter ;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; update Employee set salary = 400, first_name=&amp;quot;&amp;quot;;&lt;br /&gt;
Query OK, 8 rows affected (0.00 sec)&lt;br /&gt;
Rows matched: 8  Changed: 8  Warnings: 0&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; select * from Employee;&lt;br /&gt;
+------+------------+-----------+------------+------------+--------+-----------+-------------+&lt;br /&gt;
| id   | first_name | last_name | start_date | end_date   | salary | city      | description |&lt;br /&gt;
+------+------------+-----------+------------+------------+--------+-----------+-------------+&lt;br /&gt;
|    1 |            | Martin    | 1996-07-25 | 2006-07-25 | 400.00 | Toronto   | Programmer  |&lt;br /&gt;
|    2 |            | Mathews   | 1976-03-21 | 1986-02-21 | 400.00 | Vancouver | Tester      |&lt;br /&gt;
|    3 |            | Smith     | 1978-12-12 | 1990-03-15 | 400.00 | Vancouver | Tester      |&lt;br /&gt;
|    4 |            | Rice      | 1982-10-24 | 1999-04-21 | 400.00 | Vancouver | Manager     |&lt;br /&gt;
|    5 |            | Black     | 1984-01-15 | 1998-08-08 | 400.00 | Vancouver | Tester      |&lt;br /&gt;
|    6 |            | Green     | 1987-07-30 | 1996-01-04 | 400.00 | New York  | Tester      |&lt;br /&gt;
|    7 |            | Larry     | 1990-12-31 | 1998-02-12 | 400.00 | New York  | Manager     |&lt;br /&gt;
|    8 |            | Cat       | 1996-09-17 | 2002-04-15 | 400.00 | Vancouver | Tester      |&lt;br /&gt;
+------+------------+-----------+------------+------------+--------+-----------+-------------+&lt;br /&gt;
8 rows in set (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; update Employee set salary = 600, first_name=&amp;quot;&amp;quot;;&lt;br /&gt;
Query OK, 8 rows affected (0.00 sec)&lt;br /&gt;
Rows matched: 8  Changed: 8  Warnings: 0&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; select * from Employee;&lt;br /&gt;
+------+------------+-----------+------------+------------+--------+-----------+-------------+&lt;br /&gt;
| id   | first_name | last_name | start_date | end_date   | salary | city      | description |&lt;br /&gt;
+------+------------+-----------+------------+------------+--------+-----------+-------------+&lt;br /&gt;
|    1 |            | Martin    | 1996-07-25 | 2006-07-25 | 600.00 | Toronto   | Programmer  |&lt;br /&gt;
|    2 |            | Mathews   | 1976-03-21 | 1986-02-21 | 600.00 | Vancouver | Tester      |&lt;br /&gt;
|    3 |            | Smith     | 1978-12-12 | 1990-03-15 | 600.00 | Vancouver | Tester      |&lt;br /&gt;
|    4 |            | Rice      | 1982-10-24 | 1999-04-21 | 600.00 | Vancouver | Manager     |&lt;br /&gt;
|    5 |            | Black     | 1984-01-15 | 1998-08-08 | 600.00 | Vancouver | Tester      |&lt;br /&gt;
|    6 |            | Green     | 1987-07-30 | 1996-01-04 | 600.00 | New York  | Tester      |&lt;br /&gt;
|    7 |            | Larry     | 1990-12-31 | 1998-02-12 | 600.00 | New York  | Manager     |&lt;br /&gt;
|    8 |            | Cat       | 1996-09-17 | 2002-04-15 | 600.00 | Vancouver | Tester      |&lt;br /&gt;
+------+------------+-----------+------------+------------+--------+-----------+-------------+&lt;br /&gt;
8 rows in set (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; drop trigger myTrigger;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; drop table Employee;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Change the NEW value based on the input in a BEFORE INSERT trigger==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; CREATE TABLE Employee(&lt;br /&gt;
    -&amp;gt;     id            int,&lt;br /&gt;
    -&amp;gt;     first_name    VARCHAR(15),&lt;br /&gt;
    -&amp;gt;     last_name     VARCHAR(15),&lt;br /&gt;
    -&amp;gt;     start_date    DATE,&lt;br /&gt;
    -&amp;gt;     end_date      DATE,&lt;br /&gt;
    -&amp;gt;     salary        FLOAT(8,2),&lt;br /&gt;
    -&amp;gt;     city          VARCHAR(10),&lt;br /&gt;
    -&amp;gt;     description   VARCHAR(15)&lt;br /&gt;
    -&amp;gt; );&lt;br /&gt;
Query OK, 0 rows affected (0.03 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; DELIMITER //&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; CREATE TRIGGER myTrigger BEFORE INSERT ON employee&lt;br /&gt;
    -&amp;gt; FOR EACH ROW&lt;br /&gt;
    -&amp;gt; BEGIN&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt; IF NEW.salary IS NULL OR NEW.salary = 0 THEN&lt;br /&gt;
    -&amp;gt;         SET NEW.salary = 100;&lt;br /&gt;
    -&amp;gt; ELSE&lt;br /&gt;
    -&amp;gt;         SET NEW.salary = NEW.salary + 100;&lt;br /&gt;
    -&amp;gt; END IF;&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt; END&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt; //&lt;br /&gt;
Query OK, 0 rows affected (0.02 sec)&lt;br /&gt;
mysql&amp;gt; DELIMITER ;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;              values (1,&amp;quot;Jason&amp;quot;,    &amp;quot;Martin&amp;quot;,  &amp;quot;19960725&amp;quot;,  &amp;quot;20060725&amp;quot;, 1234.56, &amp;quot;Toronto&amp;quot;,  &amp;quot;Programmer&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.01 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(2,&amp;quot;Alison&amp;quot;,   &amp;quot;Mathews&amp;quot;,  &amp;quot;19760321&amp;quot;, &amp;quot;19860221&amp;quot;, 6661.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(3,&amp;quot;James&amp;quot;,    &amp;quot;Smith&amp;quot;,    &amp;quot;19781212&amp;quot;, &amp;quot;19900315&amp;quot;, 6544.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(4,&amp;quot;Celia&amp;quot;,    &amp;quot;Rice&amp;quot;,     &amp;quot;19821024&amp;quot;, &amp;quot;19990421&amp;quot;, 2344.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Manager&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(5,&amp;quot;Robert&amp;quot;,   &amp;quot;Black&amp;quot;,    &amp;quot;19840115&amp;quot;, &amp;quot;19980808&amp;quot;, 2334.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(6,&amp;quot;Linda&amp;quot;,    &amp;quot;Green&amp;quot;,    &amp;quot;19870730&amp;quot;, &amp;quot;19960104&amp;quot;, 4322.78,&amp;quot;New York&amp;quot;,  &amp;quot;Tester&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(7,&amp;quot;David&amp;quot;,    &amp;quot;Larry&amp;quot;,    &amp;quot;19901231&amp;quot;, &amp;quot;19980212&amp;quot;, 7897.78,&amp;quot;New York&amp;quot;,  &amp;quot;Manager&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(8,&amp;quot;James&amp;quot;,    &amp;quot;Cat&amp;quot;,     &amp;quot;19960917&amp;quot;,  &amp;quot;20020415&amp;quot;, 1232.78,&amp;quot;Vancouver&amp;quot;, &amp;quot;Tester&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.02 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; select * from Employee;&lt;br /&gt;
+------+------------+-----------+------------+------------+---------+-----------+-------------+&lt;br /&gt;
| id   | first_name | last_name | start_date | end_date   | salary  | city      | description |&lt;br /&gt;
+------+------------+-----------+------------+------------+---------+-----------+-------------+&lt;br /&gt;
|    1 | Jason      | Martin    | 1996-07-25 | 2006-07-25 | 1334.56 | Toronto   | Programmer  |&lt;br /&gt;
|    2 | Alison     | Mathews   | 1976-03-21 | 1986-02-21 | 6761.78 | Vancouver | Tester      |&lt;br /&gt;
|    3 | James      | Smith     | 1978-12-12 | 1990-03-15 | 6644.78 | Vancouver | Tester      |&lt;br /&gt;
|    4 | Celia      | Rice      | 1982-10-24 | 1999-04-21 | 2444.78 | Vancouver | Manager     |&lt;br /&gt;
|    5 | Robert     | Black     | 1984-01-15 | 1998-08-08 | 2434.78 | Vancouver | Tester      |&lt;br /&gt;
|    6 | Linda      | Green     | 1987-07-30 | 1996-01-04 | 4422.78 | New York  | Tester      |&lt;br /&gt;
|    7 | David      | Larry     | 1990-12-31 | 1998-02-12 | 7997.78 | New York  | Manager     |&lt;br /&gt;
|    8 | James      | Cat       | 1996-09-17 | 2002-04-15 | 1332.78 | Vancouver | Tester      |&lt;br /&gt;
+------+------------+-----------+------------+------------+---------+-----------+-------------+&lt;br /&gt;
8 rows in set (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; drop table Employee;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Change the NEW value based on the input in the BEFORE UPDATE trigger==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; CREATE TABLE Employee(&lt;br /&gt;
    -&amp;gt;     id            int,&lt;br /&gt;
    -&amp;gt;     first_name    VARCHAR(15),&lt;br /&gt;
    -&amp;gt;     last_name     VARCHAR(15),&lt;br /&gt;
    -&amp;gt;     start_date    DATE,&lt;br /&gt;
    -&amp;gt;     end_date      DATE,&lt;br /&gt;
    -&amp;gt;     salary        FLOAT(8,2),&lt;br /&gt;
    -&amp;gt;     city          VARCHAR(10),&lt;br /&gt;
    -&amp;gt;     description   VARCHAR(15)&lt;br /&gt;
    -&amp;gt; );&lt;br /&gt;
Query OK, 0 rows affected (0.03 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;              values (1,&amp;quot;Jason&amp;quot;,    &amp;quot;Martin&amp;quot;,  &amp;quot;19960725&amp;quot;,  &amp;quot;20060725&amp;quot;, 1234.56, &amp;quot;Toronto&amp;quot;,  &amp;quot;Programmer&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.02 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(2,&amp;quot;Alison&amp;quot;,   &amp;quot;Mathews&amp;quot;,  &amp;quot;19760321&amp;quot;, &amp;quot;19860221&amp;quot;, 6661.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(3,&amp;quot;James&amp;quot;,    &amp;quot;Smith&amp;quot;,    &amp;quot;19781212&amp;quot;, &amp;quot;19900315&amp;quot;, 6544.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(4,&amp;quot;Celia&amp;quot;,    &amp;quot;Rice&amp;quot;,     &amp;quot;19821024&amp;quot;, &amp;quot;19990421&amp;quot;, 2344.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Manager&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(5,&amp;quot;Robert&amp;quot;,   &amp;quot;Black&amp;quot;,    &amp;quot;19840115&amp;quot;, &amp;quot;19980808&amp;quot;, 2334.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(6,&amp;quot;Linda&amp;quot;,    &amp;quot;Green&amp;quot;,    &amp;quot;19870730&amp;quot;, &amp;quot;19960104&amp;quot;, 4322.78,&amp;quot;New York&amp;quot;,  &amp;quot;Tester&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(7,&amp;quot;David&amp;quot;,    &amp;quot;Larry&amp;quot;,    &amp;quot;19901231&amp;quot;, &amp;quot;19980212&amp;quot;, 7897.78,&amp;quot;New York&amp;quot;,  &amp;quot;Manager&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(8,&amp;quot;James&amp;quot;,    &amp;quot;Cat&amp;quot;,     &amp;quot;19960917&amp;quot;,  &amp;quot;20020415&amp;quot;, 1232.78,&amp;quot;Vancouver&amp;quot;, &amp;quot;Tester&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.01 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; select * from Employee;&lt;br /&gt;
+------+------------+-----------+------------+------------+---------+-----------+-------------+&lt;br /&gt;
| id   | first_name | last_name | start_date | end_date   | salary  | city      | description |&lt;br /&gt;
+------+------------+-----------+------------+------------+---------+-----------+-------------+&lt;br /&gt;
|    1 | Jason      | Martin    | 1996-07-25 | 2006-07-25 | 1234.56 | Toronto   | Programmer  |&lt;br /&gt;
|    2 | Alison     | Mathews   | 1976-03-21 | 1986-02-21 | 6661.78 | Vancouver | Tester      |&lt;br /&gt;
|    3 | James      | Smith     | 1978-12-12 | 1990-03-15 | 6544.78 | Vancouver | Tester      |&lt;br /&gt;
|    4 | Celia      | Rice      | 1982-10-24 | 1999-04-21 | 2344.78 | Vancouver | Manager     |&lt;br /&gt;
|    5 | Robert     | Black     | 1984-01-15 | 1998-08-08 | 2334.78 | Vancouver | Tester      |&lt;br /&gt;
|    6 | Linda      | Green     | 1987-07-30 | 1996-01-04 | 4322.78 | New York  | Tester      |&lt;br /&gt;
|    7 | David      | Larry     | 1990-12-31 | 1998-02-12 | 7897.78 | New York  | Manager     |&lt;br /&gt;
|    8 | James      | Cat       | 1996-09-17 | 2002-04-15 | 1232.78 | Vancouver | Tester      |&lt;br /&gt;
+------+------------+-----------+------------+------------+---------+-----------+-------------+&lt;br /&gt;
8 rows in set (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; DELIMITER //&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; CREATE TRIGGER myTrigger BEFORE UPDATE ON employee&lt;br /&gt;
    -&amp;gt; FOR EACH ROW&lt;br /&gt;
    -&amp;gt; BEGIN&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt; IF NEW.id &amp;gt; 5 THEN&lt;br /&gt;
    -&amp;gt;     SET NEW.first_name = NEW.first_name+ &amp;quot; *&amp;quot;;&lt;br /&gt;
    -&amp;gt; END IF;&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt; IF NEW.salary IS NULL OR NEW.salary = 0 THEN&lt;br /&gt;
    -&amp;gt;         SET NEW.salary = 100;&lt;br /&gt;
    -&amp;gt; ELSE&lt;br /&gt;
    -&amp;gt;         SET NEW.salary = NEW.salary + 100;&lt;br /&gt;
    -&amp;gt; END IF;&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt; END&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt; //&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt; DELIMITER ;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; update employee set id = 6, first_name= &amp;quot;new&amp;quot;, salary = null;&lt;br /&gt;
Query OK, 8 rows affected, 8 warnings (0.00 sec)&lt;br /&gt;
Rows matched: 8  Changed: 8  Warnings: 0&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; select * from employee;&lt;br /&gt;
+------+------------+-----------+------------+------------+--------+-----------+-------------+&lt;br /&gt;
| id   | first_name | last_name | start_date | end_date   | salary | city      | description |&lt;br /&gt;
+------+------------+-----------+------------+------------+--------+-----------+-------------+&lt;br /&gt;
|    6 | 0          | Martin    | 1996-07-25 | 2006-07-25 | 100.00 | Toronto   | Programmer  |&lt;br /&gt;
|    6 | 0          | Mathews   | 1976-03-21 | 1986-02-21 | 100.00 | Vancouver | Tester      |&lt;br /&gt;
|    6 | 0          | Smith     | 1978-12-12 | 1990-03-15 | 100.00 | Vancouver | Tester      |&lt;br /&gt;
|    6 | 0          | Rice      | 1982-10-24 | 1999-04-21 | 100.00 | Vancouver | Manager     |&lt;br /&gt;
|    6 | 0          | Black     | 1984-01-15 | 1998-08-08 | 100.00 | Vancouver | Tester      |&lt;br /&gt;
|    6 | 0          | Green     | 1987-07-30 | 1996-01-04 | 100.00 | New York  | Tester      |&lt;br /&gt;
|    6 | 0          | Larry     | 1990-12-31 | 1998-02-12 | 100.00 | New York  | Manager     |&lt;br /&gt;
|    6 | 0          | Cat       | 1996-09-17 | 2002-04-15 | 100.00 | Vancouver | Tester      |&lt;br /&gt;
+------+------------+-----------+------------+------------+--------+-----------+-------------+&lt;br /&gt;
8 rows in set (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; update employee set id = 7, first_name= &amp;quot;new&amp;quot;, salary = 100;&lt;br /&gt;
Query OK, 8 rows affected, 8 warnings (0.00 sec)&lt;br /&gt;
Rows matched: 8  Changed: 8  Warnings: 0&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; select * from employee;&lt;br /&gt;
+------+------------+-----------+------------+------------+--------+-----------+-------------+&lt;br /&gt;
| id   | first_name | last_name | start_date | end_date   | salary | city      | description |&lt;br /&gt;
+------+------------+-----------+------------+------------+--------+-----------+-------------+&lt;br /&gt;
|    7 | 0          | Martin    | 1996-07-25 | 2006-07-25 | 200.00 | Toronto   | Programmer  |&lt;br /&gt;
|    7 | 0          | Mathews   | 1976-03-21 | 1986-02-21 | 200.00 | Vancouver | Tester      |&lt;br /&gt;
|    7 | 0          | Smith     | 1978-12-12 | 1990-03-15 | 200.00 | Vancouver | Tester      |&lt;br /&gt;
|    7 | 0          | Rice      | 1982-10-24 | 1999-04-21 | 200.00 | Vancouver | Manager     |&lt;br /&gt;
|    7 | 0          | Black     | 1984-01-15 | 1998-08-08 | 200.00 | Vancouver | Tester      |&lt;br /&gt;
|    7 | 0          | Green     | 1987-07-30 | 1996-01-04 | 200.00 | New York  | Tester      |&lt;br /&gt;
|    7 | 0          | Larry     | 1990-12-31 | 1998-02-12 | 200.00 | New York  | Manager     |&lt;br /&gt;
|    7 | 0          | Cat       | 1996-09-17 | 2002-04-15 | 200.00 | Vancouver | Tester      |&lt;br /&gt;
+------+------------+-----------+------------+------------+--------+-----------+-------------+&lt;br /&gt;
8 rows in set (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; drop table Employee;&lt;br /&gt;
Query OK, 0 rows affected (0.02 sec)&lt;br /&gt;
mysql&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Create a &amp;quot;Before update trigger&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; CREATE TABLE Employee(&lt;br /&gt;
    -&amp;gt;     id            int,&lt;br /&gt;
    -&amp;gt;     first_name    VARCHAR(15),&lt;br /&gt;
    -&amp;gt;     last_name     VARCHAR(15),&lt;br /&gt;
    -&amp;gt;     start_date    DATE,&lt;br /&gt;
    -&amp;gt;     end_date      DATE,&lt;br /&gt;
    -&amp;gt;     salary        FLOAT(8,2),&lt;br /&gt;
    -&amp;gt;     city          VARCHAR(10),&lt;br /&gt;
    -&amp;gt;     description   VARCHAR(15)&lt;br /&gt;
    -&amp;gt; );&lt;br /&gt;
Query OK, 0 rows affected (0.03 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;              values (1,&amp;quot;Jason&amp;quot;,    &amp;quot;Martin&amp;quot;,  &amp;quot;19960725&amp;quot;,  &amp;quot;20060725&amp;quot;, 1234.56, &amp;quot;Toronto&amp;quot;,  &amp;quot;Programmer&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(2,&amp;quot;Alison&amp;quot;,   &amp;quot;Mathews&amp;quot;,  &amp;quot;19760321&amp;quot;, &amp;quot;19860221&amp;quot;, 6661.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(3,&amp;quot;James&amp;quot;,    &amp;quot;Smith&amp;quot;,    &amp;quot;19781212&amp;quot;, &amp;quot;19900315&amp;quot;, 6544.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(4,&amp;quot;Celia&amp;quot;,    &amp;quot;Rice&amp;quot;,     &amp;quot;19821024&amp;quot;, &amp;quot;19990421&amp;quot;, 2344.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Manager&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(5,&amp;quot;Robert&amp;quot;,   &amp;quot;Black&amp;quot;,    &amp;quot;19840115&amp;quot;, &amp;quot;19980808&amp;quot;, 2334.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.02 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(6,&amp;quot;Linda&amp;quot;,    &amp;quot;Green&amp;quot;,    &amp;quot;19870730&amp;quot;, &amp;quot;19960104&amp;quot;, 4322.78,&amp;quot;New York&amp;quot;,  &amp;quot;Tester&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(7,&amp;quot;David&amp;quot;,    &amp;quot;Larry&amp;quot;,    &amp;quot;19901231&amp;quot;, &amp;quot;19980212&amp;quot;, 7897.78,&amp;quot;New York&amp;quot;,  &amp;quot;Manager&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(8,&amp;quot;James&amp;quot;,    &amp;quot;Cat&amp;quot;,     &amp;quot;19960917&amp;quot;,  &amp;quot;20020415&amp;quot;, 1232.78,&amp;quot;Vancouver&amp;quot;, &amp;quot;Tester&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; select * from Employee;&lt;br /&gt;
+------+------------+-----------+------------+------------+---------+-----------+-------------+&lt;br /&gt;
| id   | first_name | last_name | start_date | end_date   | salary  | city      | description |&lt;br /&gt;
+------+------------+-----------+------------+------------+---------+-----------+-------------+&lt;br /&gt;
|    1 | Jason      | Martin    | 1996-07-25 | 2006-07-25 | 1234.56 | Toronto   | Programmer  |&lt;br /&gt;
|    2 | Alison     | Mathews   | 1976-03-21 | 1986-02-21 | 6661.78 | Vancouver | Tester      |&lt;br /&gt;
|    3 | James      | Smith     | 1978-12-12 | 1990-03-15 | 6544.78 | Vancouver | Tester      |&lt;br /&gt;
|    4 | Celia      | Rice      | 1982-10-24 | 1999-04-21 | 2344.78 | Vancouver | Manager     |&lt;br /&gt;
|    5 | Robert     | Black     | 1984-01-15 | 1998-08-08 | 2334.78 | Vancouver | Tester      |&lt;br /&gt;
|    6 | Linda      | Green     | 1987-07-30 | 1996-01-04 | 4322.78 | New York  | Tester      |&lt;br /&gt;
|    7 | David      | Larry     | 1990-12-31 | 1998-02-12 | 7897.78 | New York  | Manager     |&lt;br /&gt;
|    8 | James      | Cat       | 1996-09-17 | 2002-04-15 | 1232.78 | Vancouver | Tester      |&lt;br /&gt;
+------+------------+-----------+------------+------------+---------+-----------+-------------+&lt;br /&gt;
8 rows in set (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; delimiter $$&lt;br /&gt;
mysql&amp;gt; CREATE TRIGGER myTrigger&lt;br /&gt;
    -&amp;gt; BEFORE UPDATE ON employee&lt;br /&gt;
    -&amp;gt; FOR EACH ROW&lt;br /&gt;
    -&amp;gt; BEGIN&lt;br /&gt;
    -&amp;gt;     IF NEW.salary &amp;lt;5000 THEN&lt;br /&gt;
    -&amp;gt;       SET NEW.first_name=CONCAT(&amp;quot;NEW.first_name&amp;quot;,&amp;quot;*&amp;quot;);&lt;br /&gt;
    -&amp;gt;     ELSE&lt;br /&gt;
    -&amp;gt;       SET NEW.last_name=CONCAT(&amp;quot;NEW.last_name&amp;quot;,&amp;quot;*&amp;quot;);&lt;br /&gt;
    -&amp;gt;     END IF;&lt;br /&gt;
    -&amp;gt; END$$&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
mysql&amp;gt; delimiter ;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; update employee set salary = 1000, first_name=&amp;quot;new first Name&amp;quot;;&lt;br /&gt;
Query OK, 8 rows affected (0.00 sec)&lt;br /&gt;
Rows matched: 8  Changed: 8  Warnings: 0&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; select * from employee;&lt;br /&gt;
+------+-----------------+-----------+------------+------------+---------+-----------+-------------+&lt;br /&gt;
| id   | first_name      | last_name | start_date | end_date   | salary  | city      | description |&lt;br /&gt;
+------+-----------------+-----------+------------+------------+---------+-----------+-------------+&lt;br /&gt;
|    1 | NEW.first_name* | Martin    | 1996-07-25 | 2006-07-25 | 1000.00 | Toronto   | Programmer  |&lt;br /&gt;
|    2 | NEW.first_name* | Mathews   | 1976-03-21 | 1986-02-21 | 1000.00 | Vancouver | Tester      |&lt;br /&gt;
|    3 | NEW.first_name* | Smith     | 1978-12-12 | 1990-03-15 | 1000.00 | Vancouver | Tester      |&lt;br /&gt;
|    4 | NEW.first_name* | Rice      | 1982-10-24 | 1999-04-21 | 1000.00 | Vancouver | Manager     |&lt;br /&gt;
|    5 | NEW.first_name* | Black     | 1984-01-15 | 1998-08-08 | 1000.00 | Vancouver | Tester      |&lt;br /&gt;
|    6 | NEW.first_name* | Green     | 1987-07-30 | 1996-01-04 | 1000.00 | New York  | Tester      |&lt;br /&gt;
|    7 | NEW.first_name* | Larry     | 1990-12-31 | 1998-02-12 | 1000.00 | New York  | Manager     |&lt;br /&gt;
|    8 | NEW.first_name* | Cat       | 1996-09-17 | 2002-04-15 | 1000.00 | Vancouver | Tester      |&lt;br /&gt;
+------+-----------------+-----------+------------+------------+---------+-----------+-------------+&lt;br /&gt;
8 rows in set (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; update employee set salary = 6000, last_name=&amp;quot;new last Name&amp;quot;;&lt;br /&gt;
Query OK, 8 rows affected (0.00 sec)&lt;br /&gt;
Rows matched: 8  Changed: 8  Warnings: 0&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; select * from employee;&lt;br /&gt;
+------+-----------------+----------------+------------+------------+---------+-----------+-------------+&lt;br /&gt;
| id   | first_name      | last_name      | start_date | end_date   | salary  | city      | description |&lt;br /&gt;
+------+-----------------+----------------+------------+------------+---------+-----------+-------------+&lt;br /&gt;
|    1 | NEW.first_name* | NEW.last_name* | 1996-07-25 | 2006-07-25 | 6000.00 | Toronto   | Programmer  |&lt;br /&gt;
|    2 | NEW.first_name* | NEW.last_name* | 1976-03-21 | 1986-02-21 | 6000.00 | Vancouver | Tester      |&lt;br /&gt;
|    3 | NEW.first_name* | NEW.last_name* | 1978-12-12 | 1990-03-15 | 6000.00 | Vancouver | Tester      |&lt;br /&gt;
|    4 | NEW.first_name* | NEW.last_name* | 1982-10-24 | 1999-04-21 | 6000.00 | Vancouver | Manager     |&lt;br /&gt;
|    5 | NEW.first_name* | NEW.last_name* | 1984-01-15 | 1998-08-08 | 6000.00 | Vancouver | Tester      |&lt;br /&gt;
|    6 | NEW.first_name* | NEW.last_name* | 1987-07-30 | 1996-01-04 | 6000.00 | New York  | Tester      |&lt;br /&gt;
|    7 | NEW.first_name* | NEW.last_name* | 1990-12-31 | 1998-02-12 | 6000.00 | New York  | Manager     |&lt;br /&gt;
|    8 | NEW.first_name* | NEW.last_name* | 1996-09-17 | 2002-04-15 | 6000.00 | Vancouver | Tester      |&lt;br /&gt;
+------+-----------------+----------------+------------+------------+---------+-----------+-------------+&lt;br /&gt;
8 rows in set (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; drop trigger myTrigger;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; drop table Employee;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Update table in a before update trigger==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
mysql&amp;gt; CREATE TABLE Employee(&lt;br /&gt;
    -&amp;gt;     id            int,&lt;br /&gt;
    -&amp;gt;     first_name    VARCHAR(15),&lt;br /&gt;
    -&amp;gt;     last_name     VARCHAR(15),&lt;br /&gt;
    -&amp;gt;     start_date    DATE,&lt;br /&gt;
    -&amp;gt;     end_date      DATE,&lt;br /&gt;
    -&amp;gt;     salary        FLOAT(8,2),&lt;br /&gt;
    -&amp;gt;     city          VARCHAR(10),&lt;br /&gt;
    -&amp;gt;     description   VARCHAR(15)&lt;br /&gt;
    -&amp;gt; );&lt;br /&gt;
Query OK, 0 rows affected (0.02 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;              values (1,&amp;quot;Jason&amp;quot;,    &amp;quot;Martin&amp;quot;,  &amp;quot;19960725&amp;quot;,  &amp;quot;20060725&amp;quot;, 1234.56, &amp;quot;Toronto&amp;quot;,  &amp;quot;Programmer&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(2,&amp;quot;Alison&amp;quot;,   &amp;quot;Mathews&amp;quot;,  &amp;quot;19760321&amp;quot;, &amp;quot;19860221&amp;quot;, 6661.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(3,&amp;quot;James&amp;quot;,    &amp;quot;Smith&amp;quot;,    &amp;quot;19781212&amp;quot;, &amp;quot;19900315&amp;quot;, 6544.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.02 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(4,&amp;quot;Celia&amp;quot;,    &amp;quot;Rice&amp;quot;,     &amp;quot;19821024&amp;quot;, &amp;quot;19990421&amp;quot;, 2344.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Manager&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(5,&amp;quot;Robert&amp;quot;,   &amp;quot;Black&amp;quot;,    &amp;quot;19840115&amp;quot;, &amp;quot;19980808&amp;quot;, 2334.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(6,&amp;quot;Linda&amp;quot;,    &amp;quot;Green&amp;quot;,    &amp;quot;19870730&amp;quot;, &amp;quot;19960104&amp;quot;, 4322.78,&amp;quot;New York&amp;quot;,  &amp;quot;Tester&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(7,&amp;quot;David&amp;quot;,    &amp;quot;Larry&amp;quot;,    &amp;quot;19901231&amp;quot;, &amp;quot;19980212&amp;quot;, 7897.78,&amp;quot;New York&amp;quot;,  &amp;quot;Manager&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(8,&amp;quot;James&amp;quot;,    &amp;quot;Cat&amp;quot;,     &amp;quot;19960917&amp;quot;,  &amp;quot;20020415&amp;quot;, 1232.78,&amp;quot;Vancouver&amp;quot;, &amp;quot;Tester&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; select * from Employee;&lt;br /&gt;
+------+------------+-----------+------------+------------+---------+-----------+-------------+&lt;br /&gt;
| id   | first_name | last_name | start_date | end_date   | salary  | city      | description |&lt;br /&gt;
+------+------------+-----------+------------+------------+---------+-----------+-------------+&lt;br /&gt;
|    1 | Jason      | Martin    | 1996-07-25 | 2006-07-25 | 1234.56 | Toronto   | Programmer  |&lt;br /&gt;
|    2 | Alison     | Mathews   | 1976-03-21 | 1986-02-21 | 6661.78 | Vancouver | Tester      |&lt;br /&gt;
|    3 | James      | Smith     | 1978-12-12 | 1990-03-15 | 6544.78 | Vancouver | Tester      |&lt;br /&gt;
|    4 | Celia      | Rice      | 1982-10-24 | 1999-04-21 | 2344.78 | Vancouver | Manager     |&lt;br /&gt;
|    5 | Robert     | Black     | 1984-01-15 | 1998-08-08 | 2334.78 | Vancouver | Tester      |&lt;br /&gt;
|    6 | Linda      | Green     | 1987-07-30 | 1996-01-04 | 4322.78 | New York  | Tester      |&lt;br /&gt;
|    7 | David      | Larry     | 1990-12-31 | 1998-02-12 | 7897.78 | New York  | Manager     |&lt;br /&gt;
|    8 | James      | Cat       | 1996-09-17 | 2002-04-15 | 1232.78 | Vancouver | Tester      |&lt;br /&gt;
+------+------------+-----------+------------+------------+---------+-----------+-------------+&lt;br /&gt;
8 rows in set (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; delimiter $$&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; CREATE TRIGGER myTrigger&lt;br /&gt;
    -&amp;gt;   BEFORE UPDATE ON employee&lt;br /&gt;
    -&amp;gt;   FOR EACH ROW&lt;br /&gt;
    -&amp;gt; BEGIN&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt;   UPDATE employee&lt;br /&gt;
    -&amp;gt;      SET salary=salary+(NEW.salary-OLD.salary)&lt;br /&gt;
    -&amp;gt;    WHERE id=NEW.id;&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt; END$$&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt; delimiter ;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; update employee set salary = 1000;&lt;br /&gt;
ERROR 1442 (HY000): Can&amp;quot;t update table &amp;quot;employee&amp;quot; in stored function/trigger because it is already used by statement which invoked this stored function/trigger.&lt;br /&gt;
mysql&amp;gt; drop trigger myTrigger;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; drop table Employee;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>