Mysql 中不commit也可以改变数据库吧,那么写不写commit命令有什么区别呢?
答案:5 悬赏:80
解决时间 2021-03-05 20:38
- 提问者网友:芷芹
- 2021-03-05 04:30
主要指(INSERT / DELETE / UPDATE / SELECT ),本人初学者,谢谢大家的指点。应该是写好还是不写好。
最佳答案
- 二级知识专家网友:废途浑身病态
- 2021-03-05 05:24
这个要看你用什么“存储引擎”
如果是不支持事务的引擎,如myisam,则是否commit都没有效的。
如果是支持事务的引擎,如innodb,则有系统参数设置是否自动commit,查看参数如下:
mysql> show variables like '%autocommit%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| autocommit | ON |
+---------------+-------+
1 row in set (0.00 sec)
mysql>
显示结果为on表示事务自动提交,也即不用手工去commit。
当然,你可以设置其为OFF,然后自己手工去commit。
如果是不支持事务的引擎,如myisam,则是否commit都没有效的。
如果是支持事务的引擎,如innodb,则有系统参数设置是否自动commit,查看参数如下:
mysql> show variables like '%autocommit%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| autocommit | ON |
+---------------+-------+
1 row in set (0.00 sec)
mysql>
显示结果为on表示事务自动提交,也即不用手工去commit。
当然,你可以设置其为OFF,然后自己手工去commit。
全部回答
- 1楼网友:一场云烟
- 2021-03-05 09:53
那 MYSQL“事务”的机制如何体现?
- 2楼网友:佛说妍妍很渣
- 2021-03-05 08:56
使用了commit后你不可以回退,它会永久改变你的数据,而不使用只是临时改变,它把改变后的内容备份了一份在日志中,你可以rollback还原回来,看情况而用了。
- 3楼网友:承载所有颓废
- 2021-03-05 07:38
貌似where actid=5 and actid=6不行啊!这个条件是删除数据库来id=5同时=6的记录。。。虽然不报错,但是执行后,影响的记录数是0的。
- 4楼网友:气场征服一切
- 2021-03-05 06:36
话说mysql在进行数据操作语言(dml)(即insert,delete等)的时候是默认自动commit的
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯