Mysql
 sql >> база данни >  >> RDS >> Mysql

mysql_query извършва ли всичко

Старото разширение на mysql няма функции специално за контрол на транзакциите, но можете да издавате SQL изрази, за да правите това, което искате.

Можете имплицитно да изключите autocommit за продължителността на една транзакция, просто като стартирате транзакция:

mysql_query("START TRANSACTION");

Веднага след като COMMIT или ROLLBACK, режимът на автоматично записване ще се върне към стандартния.

mysql_query("COMMIT"); // or ROLLBACK

Можете да изключите автоматичното записване за цялата си сесия, като зададете променлива на сесията:

mysql_query("SET autocommit=0");

Или го променете глобално във вашия MySQL екземпляр, така че да промени по подразбиране за всички сесии:

mysql_query("SET GLOBAL autocommit=0");

Или го задайте да промени глобалната настройка при стартиране на услугата MySQL, като редактирате /etc/my.cnf:

[mysqld]
autocommit=0

Ако използвате MySQL 5.1, трябва да направите това малко по-различно:

[mysqld]
init_connect='SET autocommit=0'

Вероятно вече знаете, но си струва да повторите, че транзакциите означават нещо само ако използвате таблици InnoDB. MyISAM таблиците не поддържат транзакции, така че винаги се извършват автоматично, независимо от вашите настройки. Същото е с няколко други механизми за съхранение, включително MEMORY и CSV.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да предадете ArrayList<String> на друга дейност и да го конвертирате в двойно

  2. Търсачката на думи Scrabble:изграждане на trie, съхраняване на trie, използване на trie?

  3. Данни от колоната на обобщената таблица на MySQL като редове

  4. MySQL - GROUP_CONCAT с присъединявания

  5. Mysql персонализиран ред по и азбучен ред по: