mysql 作业

1.严格模式,导致mysql5.7 插入用户表的方式新建用户失败,那么如何修改严格模式

严格模式控制MySQL如何处理非法或丢失的输入值的SQL。有几种原因可以使一个值为非法。例如,数据类型错误或超出范围。当新插入的行不包含某列的没有显示定义DEFAULT子句的值,则该值被丢失。

对于事务表,当启用STRICT_ALL_TABLES或STRICT_TRANS_TABLES模式时,如果语句中有非法或丢失值,则会出现错误。SQL语句被回滚。

对于非事务表,STRICT_TRANS_TABLES,MySQL将非法值转换为最接近该列的合法值并插入调整后的值。如果值丢失,MySQL在列中插入隐式 默认值。在任何情况下,MySQL都会生成警告而不是给出错误并继续执行语句。

如果你不使用严格模式(即不启用STRICT_TRANS_TABLES或STRICT_ALL_TABLES模式),对于非法或丢失的值,MySQL将插入调整后的值并给出警告。在严格模式,你可以通过INSERT IGNORE或UPDATE IGNORE来实现。

如何关闭

Linux

打开MYSQL的安装目录

找到my.cnf 进行编辑

查找sql-mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

修改为sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

若找不到就在[mysqld]下添加即可

重启MYSQL:sudo /etc/init.d/mysql restart

Windows

在MYSQL安装目录中找到mysql.ini

同Linux一样修改

然后重启MYSQL或者服务器

2. 16kb page 是否可以修改

在安装前是可以通过源码修改的,安装后是修改不了的。

3. 了解MySQL触发器和存储过程

mysql触发器:触发器是由 事件来触发 某个操作,这些事件包括 INSERT 、 UPDATE 、 DELETE 事件。所谓事件就是指用户的动作或者触发某项行为。如果定义了触发程序,当数据库执行这些语句时候,就相当于事件发生了,就会 自动 激发触发器执行相应的操作。

 具体创建的触发器:

删除触发器
触发器也是数据库对象,删除触发器也用DROP语句,语法格式如下:

 存储过程:存储过程是一个编译后的SQL脚本集合,但不能在SQL语句中调用,只能单独使用
存储过程优点:1.编译过的SQL脚本,执行速度非常快
2.实现了SQL编程,降低了锁表时间和缩表范围
3.对外封装了表结构,提高了数据库的安全性 

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值