《MYSQL數(shù)據(jù)庫MySQL數(shù)據(jù)庫安全之防止撰改的方法》要點(diǎn):
本文介紹了MYSQL數(shù)據(jù)庫MySQL數(shù)據(jù)庫安全之防止撰改的方法,希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
MySQL數(shù)據(jù)庫可以通過觸發(fā)器,使之無法修改某些字段的數(shù)據(jù),同時(shí)又不會(huì)影響修改其他字段.MYSQL學(xué)習(xí)
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;
再舉一個(gè)例子:MYSQL學(xué)習(xí)
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;
每一次數(shù)據(jù)變化新增一條數(shù)據(jù)MYSQL學(xué)習(xí)
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);
保護(hù)用戶的余額不被修改MYSQL學(xué)習(xí)
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;
《MYSQL數(shù)據(jù)庫MySQL數(shù)據(jù)庫安全之防止撰改的方法》是否對(duì)您有啟發(fā),歡迎查看更多與《MYSQL數(shù)據(jù)庫MySQL數(shù)據(jù)庫安全之防止撰改的方法》相關(guān)教程,學(xué)精學(xué)透。維易PHP學(xué)院為您提供精彩教程。
轉(zhuǎn)載請(qǐng)注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/13969.html