在数据库的插入、删除和修改操作时,只有当事务在提交到数据库时才算完成。
SQL语句提交数据有三种类型:显式提交、隐式提交及自动提交。
【1】显式提交
显式提交。即用COMMIT命令直接完成的提交方式。
【2】隐式提交
隐式提交。用SQL命令间接完成的提交方式。这些命令是:
ALTER、CREATE、DISCONNECT、DROP、AUDIT、COMMENT、CONNECT、EXIT、GRANT、NOAUDIT、QUIT、REVOKE、RENAME。
【3】自动提交
自动提交。若把AUTOCOMMIT设置为NO,则在插入、修改、删除语句执行后,系统将自动进行提交的方式。
设置数据库自动commit方式,可以使用:
mysql> SET AUTOCOMMIT ON;
【4】MySQL语句是否需要COMMIT?
MySQL语句在进行如插入(insert)操作的时候究竟需不需要COMMIT,这具体得依据存储引擎而定。
如果是不支持事务的引擎,如myisam,则是否commit都是没有效的;
如果是支持事务的引擎,如innodb,则得知道支持是否自动提交事务(即commit)
看自己的数据库是否支持自动commit,可以使用命令:
mysql> show variables like '%autocommit%';
来进行查看,如果是OFF,即不自动commit,需要手动commit操作(命令行可以直接“commit;”命令),否则是自动commit。
Good Good Study, Day Day Up.
顺序 选择 循环 总结