資料庫安全之防止撰改

2021-09-23 19:31:45 字數 1474 閱讀 4233

有些資料一旦新增,就不允許在做修改,可以使用此方法

文件出處:

目錄

10.1. 保護表字段

通過觸發器,使之無法修改某些欄位的資料,同時不影響修改其他字段。

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;

文件出處:

資料庫安全

先分3點從全域性來看 對作業系統的安全需求 防止對dbms的非法訪問和修改,保護儲存的資料 檔案的安全性,對資料庫使用者的認證 對資料庫系統本身的安全需求 使用者認證管理 訪問控制 審計,資料庫的穩定性,保證資料的安全性與完整性,完善的恢復功能,資料加密 對資料庫應用系統的安全需求 訪問控制 認證管...

資料庫安全

先分3點從全域性來看 對作業系統的安全需求 防止對dbms的非法訪問和修改,保護儲存的資料 檔案的安全性,對資料庫使用者的認證 對資料庫系統本身的安全需求 使用者認證管理 訪問控制 審計,資料庫的穩定性,保證資料的安全性與完整性,完善的恢復功能,資料加密 對資料庫應用系統的安全需求 訪問控制 認證管...

資料庫之表的增刪查改詳解

語法 insert into table name column column values value value 舉例 1 建如下表 2 插入資料 使用新增語句注意的細節 1 插入的資料應與字段的資料型別相同。比如,將 2a 插入到id列就不行 還有一些我們之前用過的一些細節 2 資料的大小應在...