我有InnoDB存储引擎的表。 我想在全部正确时开始插入过程。 我该怎么做?与MySQL的交易?
0
A
回答
2
您可以使用支持事务的类MySQLi轻松地做到这一点。
下面是一个例子:
<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
$mysqli->autocommit(false);
$mysqli->query("INSERT INTO test(id) VALUES (1)");
$mysqli->rollback();
$mysqli->query("INSERT INTO test(id) VALUES (2)");
$mysqli->commit();
?>
Here you can find some documentation an examples.
此外,如果你使用的是框架,检查它的文档。通常有一个很酷的实现和交易方法。
这里是一个非常聪明的交易算法CI中的例子:
$this->db->trans_start();
$this->db->query('AN SQL QUERY...');
$this->db->query('ANOTHER QUERY...');
$this->db->query('AND YET ANOTHER QUERY...');
$this->db->trans_complete();
笨处理事务和自动备份角色的变化,如果没有在查询中的一个错误。 CodeIgniter's Approach to Transactions
2
不管你使用的PHP库的,随时都可以使用这两种语句的事务:
SET autocommit = off
BEGIN
START TRANSACTION
一旦开始后,您可以完成大量工作,并准备好永久保存它,做一个承诺:
COMMIT
或者,当你想撤消工作正在进行中(直到先前提交时刻)发出回滚:
ROLLBACK
你可以简单地运行这些作为普通的SQL语句与MySQL的任何PHP库。
相关问题
- 1. Mysql注册与交易
- 2. MYSQL X锁与交易
- 3. MySQL的交易
- 4. 交易与非交易msmq
- 5. MySQL交易
- 6. MySql交易
- 7. PDO MySQL交易
- 8. MySQL交易
- 9. MYSQL与交易的语法错误?
- 10. 交易在像MySQL交易PHP
- 11. MySQL的重复读“交易异常行为MySQL的交易
- 12. mysql提交和交易
- 13. Java和MySQL交易
- 14. MYSQL项目交易
- 15. MySQL交易问题
- 16. 交易MySql和php
- 17. 交易与TransactionScope的
- 18. 与交易的Memcache?
- 19. JPA和与MySQL并发交易
- 20. 与Numpy交易
- 21. SourcePollingChannelAdapter与交易
- 22. Linq与交易
- 23. MySQL的回滚在交易
- 24. MySQL的交易从PHP
- 25. MySQL的交易时机
- 26. Mysql的交易问题
- 27. 关于MySQL的交易
- 28. 包装MySQL的交易
- 29. 在mysql中的交易
- 30. 了解PDO MySQL的交易
你能举出你的第二段的例子吗?从我看到的情况来看,PHP框架中的事务支持如果存在的话,往往是毫无用处的。 –
@Michael Borgwardt那是怎么回事? –
你的例子是我期望的最小值。除非它像嵌套和声明式交易那样,否则我不会称之为“智能”。 –