Транзакции mysql и php -- php поле с участием mysql поле с участием transactions пол Связанный проблема

Transactions MySql and php


1
vote

проблема

русский

Я запутался ABT работает транзакциями через PHP-скрипт. В моем MySQL AutoCommit устанавливается на 1, Тем не менее, когда я запускаю скрипт

ex: mysql_query ("Начать транзакцию");

 <код> $sql="INSERT INTO  `address`(`Address_Id`,  `Address_Line1`,  `Address_line2`,  `Zip`,  `Created_By`,  `Created_Date`,   `Updated_By`,   `Updated_Date`)  VALUES ('2','this is test1','test2','210','SYSTEM','NOW()','SYSTEM','NOW()')";  mysql_query($sql);   

Когда я не даю коммит, вставленные записи в таблицу равны нулю. Запись возникает только в том случае, если я даю команду коммита.

Пожалуйста, скажите мне, что произойдет, если в скрипте PHP я начну транзакцию, а затем не давайте откатывайтесь или отказаться от операторов

Английский оригинал

I'm confused abt running transactions through php script. In my MySql autocommit is set to 1, yet when I run a script

ex: mysql_query("START TRANSACTION");

$sql="INSERT INTO  `address`(`Address_Id`,  `Address_Line1`,  `Address_line2`,  `Zip`,  `Created_By`,  `Created_Date`,   `Updated_By`,   `Updated_Date`)  VALUES ('2','this is test1','test2','210','SYSTEM','NOW()','SYSTEM','NOW()')";  mysql_query($sql); 

When I don't give commit, inserted records in the table is zero. the record comes up only if I give commit command.

Also please tell me what happens if in a php script I start transaction and then dont give either roll back or commit statements

</div
        
 
 

Список ответов

0
 
vote
vote
Лучший ответ
 

http://dev.mysql.com/doc/refman/ 5.5 / ru / compick.html :

По умолчанию MySQL работает с включенным режимом AutoCommit. Это означает, что, как только вы выполните заявление, которое обновляет (изменяет) таблицу, MySQL хранит обновление на диске, чтобы сделать его постоянным.

Но если вы указываете <код> START TRANSACTION явно - то он не учитывается, поэтому вы работаете в транзакции, которые должны быть преданы.

 

http://dev.mysql.com/doc/refman/5.5/en/commit.html:

By default, MySQL runs with autocommit mode enabled. This means that as soon as you execute a statement that updates (modifies) a table, MySQL stores the update on disk to make it permanent.

But if you specify START TRANSACTION explicitly - then it isn't taken into account, so you work in a transaction that should be committed.

</div
 
 
   
   
0
 
vote

Попробуйте поделать это.

 <код> mysql_query("BEGIN");          $query="";         $result=mysql_query($query);          if($result==0)         {             mysql_query("ROLLBACK");            echo $error_message;           // mysql_query($query_setId);            die();         }      mysql_query("COMMIT");   
 

Try to do like this.

mysql_query("BEGIN");          $query="";         $result=mysql_query($query);          if($result==0)         {             mysql_query("ROLLBACK");            echo $error_message;           // mysql_query($query_setId);            die();         }      mysql_query("COMMIT"); 
</div
 
 

Связанный проблема

1  PHP UNIX Время отсутствует Zeros  ( Php unix time missing zeros ) 
Хорошо, поэтому у меня есть следующая формула, но по какой-то причине, когда я не могу сказать, если это 5 минут или 50 минут, потому что он либо не отображае...

0  PHP Copy () Проблемы и специальные символы  ( Php copy problems and special characters ) 
Я в настоящее время копирую определенные файлы, когда пользователь обновляет определенную информацию. Тем не менее, поскольку мы не можем иметь особых специал...

0  PHP Уведомление: undefined Holvil: stdclass:  ( Php notice undefined property stdclass ) 
У меня есть массив, возвращаясь из флэш-приложения, созданного в Flash Builder 4. У меня есть настройка службы, которые запросили и получают данные от DB, о...

13  Отфильтровать номера в строке в PHP  ( Filter out numbers in a string in php ) 
Предполагая, что у меня есть эти тексты 'x34', '150px', '650dpi', 'E3R4T5' ... Как я могу получить только номера? Я имею в виду, я хочу 34, 150, 650, 345 без ...

2  Как загрузить OpenSSL.SO Динамическая библиотека в PHP 5.2.1  ( How to load openssl so dynamic library in php 5 2 1 ) 
Я недавно установил MAMP версию 1.6 на моем Mac OS 10.5.7. Теперь я управляю сценарием для подключения к сайту с помощью SSL. После некоторых исследований я...

0  Создание электронной почты на основе запроса MySQL  ( Generating an email based on mysql query ) 
У меня есть 2 таблицы, отображаемые ниже. Похожие словари: . + -------------------------------- + |. Пользователь |. ilike |. + ---------------------------...

6  CloudFlare API Перевести зависть в PHP Curl и отправить обновление CNAME  ( Cloudflare api translate curl to php curl and send cname update ) 
Это вопрос и ответ после многих исследований, используя некоторую информацию из других ответов, обнаруженных на StackoverFlow. Как конвертировать command-li...

0  Как я могу надежно разрешить веб-пользователям создавать файлы?  ( How can i securely allow web users to create files ) 
Я строю веб-сайт, который позволяет определенным пользователям писать отзывы, и я хочу автоматически генерироваться небольшой PHP-файл, когда они делают. Како...

0  Как я могу получить значение группы записей в группу столбца, используя с функцией в Laravel Eloquent ORM  ( How can i get count of records group by a column using with function in laravel ) 
Мне нужно получить количество записей <код> groupBy с использованием <код> with() функция, известная как adgerage loading. У меня есть две таблицы, имеющие ...

15  Рассчитать, какие продукты вместе доставят запрошенную силу  ( Calculate which products together would deliver the requested power ) 
Допустим, у меня есть три продукта: <Сильный> Продукт A Доставит 5 власти. Стоит 50. Product B доставит 9 мощность. Стоит 80. <Сильный> продукт C до...

0  JQuery Mobile Link от PHP до HTML не работает, но URL делает изменения  ( Jquery mobile link from php to html not working but url does change ) 
Хорошо, так что когда я вошел в систему в свое приложение (index.html), я принимаю в login.php, отсюда я хочу меню для пользователя, но ни одна из моих ссылок...

1  Symfony 3.4.3 - Контейнер обслуживания: Ошибка требует, чтобы вы предоставляете значение для  ( Symfony 3 4 3 service container error requires that you provide a value for t ) 
Я потратил много времени, но я не решил это Я хотел бы пройти в LoggerInterface в действии моего контроллера Вот мой Service.yml <код> # Learn more about ...

0  Ограничение результатов Flickr API, чтобы избежать дублирования фотографий от пользователя?  ( Limiting a results flickr api to avoid duplicate photos from a user ) 
пытается выводить изображения Flickr из определенного местоположения, не используя ни одного геолокации, но только строка местоположения, но это проблема для ...

1  Разделение строки в номер телефона и расширение с помощью preg_match  ( Splitting a string into a phone number and extension using preg match ) 
Так что я пытаюсь разделить строку, которая содержит номер телефона и расширение, так как иногда существует расширение в строке. Это моя попытка: <код> $tes...

2  Найти реалированные данные таблицы1 в Таблице2  ( To find realted data of table1 in table2 ) 
Table1 имеет некоторые данные как категории Table2 имеет некоторые данные, которые реализуются в категориях Table1 и соотношение между двумя таблицами...

Связанный проблема

1  PHP UNIX Время отсутствует Zeros 
0  PHP Copy () Проблемы и специальные символы 
0  PHP Уведомление: undefined Holvil: stdclass: 
13  Отфильтровать номера в строке в PHP 
2  Как загрузить OpenSSL.SO Динамическая библиотека в PHP 5.2.1 
0  Создание электронной почты на основе запроса MySQL 
6  CloudFlare API Перевести зависть в PHP Curl и отправить обновление CNAME 
0  Как я могу надежно разрешить веб-пользователям создавать файлы? 
0  Как я могу получить значение группы записей в группу столбца, используя с функцией в Laravel Eloquent ORM 
15  Рассчитать, какие продукты вместе доставят запрошенную силу 
0  JQuery Mobile Link от PHP до HTML не работает, но URL делает изменения 
1  Symfony 3.4.3 - Контейнер обслуживания: Ошибка требует, чтобы вы предоставляете значение для 
0  Ограничение результатов Flickr API, чтобы избежать дублирования фотографий от пользователя? 
1  Разделение строки в номер телефона и расширение с помощью preg_match 
2  Найти реалированные данные таблицы1 в Таблице2