• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > MySQL数据库安全之防止撰改的方法

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

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了mysql数据库使用方法,mysql数据库备份方法,mysql数据库优化方法,mysql数据库,mysql数据库教程等相关知识,希望本文的分享对您有所帮助

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;
</div>

再举一个例子:

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;

</div>

每一次数据变化新增一条数据

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);

</div>

保护用户的余额不被修改

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;
</div> </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • mysql 将列值转变为列的方法
  • MySQL的重装问题解决方法
  • mysql解决远程不能访问的二种方法
  • mysql 模糊搜索的方法介绍
  • Mysql启动与数据库的创建方法[图文]
  • mysql 判断记录是否存在方法比较
  • Mysql 数据库更新错误的解决方法
  • mysql中判断记录是否存在方法比较
  • 为mysql数据库添加添加事务处理的方法
  • 免安转MySQL服务的启动与停止方法

相关文章

  • 2017-05-11mysql安装后添加gbk字符集的方法
  • 2018-12-05MySQL存储过程快速入门
  • 2018-12-05Mysql中复制详细解析
  • 2018-12-05关于mysql_error()函数的10篇文章推荐
  • 2018-12-05sqlserver下将数据库记录的列记录转换成行记录的方法
  • 2017-05-11MYSQL错误:Can’t open file: ‘×××.MYI’ (errno: 145)修复方法
  • 2017-05-11windows下在一台机器上安装两个MYSQL数据库的方法
  • 2017-05-11MySQL错误代码大全
  • 2018-12-05MySQL数据库中如何进行子查询
  • 2018-12-05MySQL 找出包含非ASCII字符值的记录

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 关于SQL Server 2005安装失败的处理方法
    • Oracle 11g Release (11.1) 索引底层的数据结构
    • AutoMySQLBackup实现数据库定期备份
    • Oracle RAC配置ssh用户等价
    • 什么是mysql子查询?如何利用子查询进行过滤?
    • MySQL Cluster集群探索与实践
    • 一个删除指定表的所有索引和统计的过程
    • sql2005 附加数据库出错(错误号:5123)解决方法
    • MySQL事务、锁以及应用(一)
    • SQL SERVER的数据类型

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有