MySQL数据库安全之防止撰改的方法
MySQL数据库可以通过触发器,使之无法修改某些字段的数据,同时又不会影响修改其他字段。
DROPTRIGGERIFEXISTS`members`; SET@OLD_SQL_MODE=@@SQL_MODE,SQL_MODE=''; DELIMITER// CREATETRIGGER`members`BEFOREUPDATEON`members`FOREACHROWBEGIN setnew.name=old.name; setnew.cellphone=old.cellphone; setnew.email=old.email; setnew.password=old.password; END// DELIMITER; SETSQL_MODE=@OLD_SQL_MODE;
再举一个例子:
CREATETABLE`account`( `id`INT(10)UNSIGNEDNOTNULLAUTO_INCREMENT, `user`VARCHAR(50)NOTNULLDEFAULT'0', `cash`FLOATNOTNULLDEFAULT'0', PRIMARYKEY(`id`) ) COLLATE='utf8_general_ci' ENGINE=InnoDB;
每一次数据变化新增一条数据
INSERTINTO`test`.`account`(`user`,`cash`)VALUES('neo',-10);
INSERTINTO`test`.`account`(`user`,`cash`)VALUES('neo',-5);
INSERTINTO`test`.`account`(`user`,`cash`)VALUES('neo',30);
INSERTINTO`test`.`account`(`user`,`cash`)VALUES('neo',-20);
保护用户的余额不被修改
DROPTRIGGERIFEXISTS`account`; SET@OLD_SQL_MODE=@@SQL_MODE,SQL_MODE=''; DELIMITER// CREATETRIGGER`account`BEFOREUPDATEON`account`FOREACHROWBEGIN setnew.cash=old.cash; END// DELIMITER; SETSQL_MODE=@OLD_SQL_MODE;
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下