您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

MySQL数据库安全之防止撰改的方法_MySQL

2024/3/28 10:41:20发布26次查看
mysql数据库可以通过触发器,使之无法修改某些字段的数据,同时又不会影响修改其他字段。
drop trigger if exists `members`;set @old_sql_mode=@@sql_mode, sql_mode='';delimiter //create trigger `members` before update on `members` for each row begin set new.name = old.name; set new.cellphone = old.cellphone; set new.email = old.email; set new.password = old.password;end//delimiter ;set sql_mode=@old_sql_mode;
再举一个例子:
create table `account` ( `id` int(10) unsigned not null auto_increment, `user` varchar(50) not null default '0', `cash` float not null default '0', primary key (`id`))collate='utf8_general_ci'engine=innodb;
每一次数据变化新增一条数据
insert into `test`.`account` (`user`, `cash`) values ('neo', -10);insert into `test`.`account` (`user`, `cash`) values ('neo', -5);insert into `test`.`account` (`user`, `cash`) values ('neo', 30);insert into `test`.`account` (`user`, `cash`) values ('neo', -20);
保护用户的余额不被修改
drop trigger if exists `account`;set @old_sql_mode=@@sql_mode, sql_mode='';delimiter //create trigger `account` before update on `account` for each row begin set new.cash = old.cash;end//delimiter ;set sql_mode=@old_sql_mode;
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product