刘大胡 发表于 2021-1-8 16:46:01

TRIGGER BEFORE UPDATE

在数据库mysql_test 的表customers 中创建一个触发器customers_update _trigger .用于更新customers 时。将该表中cust_address 列的值设置为cus_contact 列的值。

mysql > CREATER TRIGGER mysql _test.customerrs _update_ trigger BEFORE UPDATE

->ON my sql _test .customers FOR EACH ROW
-> SET NWE .cus_address = OLD .cust _contact;

在mysql 命令行客户端使用update语句更新customers 中客户名为”曾伟“的cus_address列的值为”武汉市“:

mysql >UPDATE mysql _test .customers SET cus_address=‘武汉市’
->WHERE cus _name ='曾伟‘;

mysql >SELECT cus _address FROM mysql _test .customers
   ->WHERE cust _name ='曾伟‘;
      
cust_address


芙蓉区
UPDATE TRIGGER BEFORE UPDATE ;在update 数据之前触动触发器修改表中数据内容。在还没有选定要更新的内容之前触动触发器。要更新的的数据都没有确定,那来的NEW 表和old 表。没有new 表和old 表,又怎么更新数据???? 为什么明明把姓名为’曾伟‘的那条数据的地址已经改为’武汉市‘。select 名字为’曾伟‘的那条数据的地址时,是芙蓉区?????    TRIGGER BEFORE UPDATE 到底是怎么运行的,是怎么修改表中数据的??????
页: [1]
查看完整版本: TRIGGER BEFORE UPDATE