Code:
mysql> drop trigger if exists naslovo_update;
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter |
mysql> CREATE TRIGGER naslovo_update BEFORE UPDATE ON t4
-> FOR EACH ROW BEGIN
-> -- IF NEW.autor <> OLD.autor THEN
-> SET NEW.slovo = LEFT(NEW.autor,1);
-> -- END IF;
-> END
-> |
Query OK, 0 rows affected (0.01 sec)
mysql>
mysql> delimiter ;
mysql> select * from t4;
+----+----------+-------+
| id | autor | slovo |
+----+----------+-------+
| 1 | pera | p |
| 2 | zika | z |
| 3 | laza | l |
| 4 | mika | m |
| 5 | jovica | j |
| 6 | zizelina | z |
| 7 | sele | s |
| 8 | stanojka | s |
| 9 | milojka | m |
| 10 | sarulja | s |
+----+----------+-------+
10 rows in set (0.00 sec)
mysql> update t4 set slovo = 'Q' where id=4;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0
mysql> select * from t4;
+----+----------+-------+
| id | autor | slovo |
+----+----------+-------+
| 1 | pera | p |
| 2 | zika | z |
| 3 | laza | l |
| 4 | mika | m |
| 5 | jovica | j |
| 6 | zizelina | z |
| 7 | sele | s |
| 8 | stanojka | s |
| 9 | milojka | m |
| 10 | sarulja | s |
+----+----------+-------+
10 rows in set (0.00 sec)
mysql>
mysql> drop trigger if exists naslovo_update;
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter |
mysql> CREATE TRIGGER naslovo_update BEFORE UPDATE ON t4
-> FOR EACH ROW BEGIN
-> -- IF NEW.autor <> OLD.autor THEN
-> SET NEW.slovo = LEFT(NEW.autor,1);
-> -- END IF;
-> END
-> |
Query OK, 0 rows affected (0.01 sec)
mysql>
mysql> delimiter ;
mysql> select * from t4;
+----+----------+-------+
| id | autor | slovo |
+----+----------+-------+
| 1 | pera | p |
| 2 | zika | z |
| 3 | laza | l |
| 4 | mika | m |
| 5 | jovica | j |
| 6 | zizelina | z |
| 7 | sele | s |
| 8 | stanojka | s |
| 9 | milojka | m |
| 10 | sarulja | s |
+----+----------+-------+
10 rows in set (0.00 sec)
mysql> update t4 set slovo = 'Q' where id=4;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0
mysql> select * from t4;
+----+----------+-------+
| id | autor | slovo |
+----+----------+-------+
| 1 | pera | p |
| 2 | zika | z |
| 3 | laza | l |
| 4 | mika | m |
| 5 | jovica | j |
| 6 | zizelina | z |
| 7 | sele | s |
| 8 | stanojka | s |
| 9 | milojka | m |
| 10 | sarulja | s |
+----+----------+-------+
10 rows in set (0.00 sec)
mysql>
kao sto vidis .. update nije "smorio" vrednost za slovo .. dakle zavisi sta hoces da izvedes ... ovo je "malo sporije" posto ce menjati i vrednost za slovo i izvrsavati funkciju LEFT() i ako menjas neki deseti atribut u slogu (zamisli da ta tabela ima jos 50 atributa) .. ali iako je malo sporije, sprecavas nekog idiota koji ne zna sta radi da ti smori vrednost u tabeli ...