не работают транзакции в Mysql

Тема в разделе "SQL", создана пользователем Karambol, 24 мар 2010.

  1. Karambol

    Karambol Гость

    Дело такое. Надо отправить из 1С на MySQL запрос с транзакцией. Если запрос без транзакции, то все работет, если в транзакции, то работать не хочет. В MyAdmin этот запрос выполняется. Запрос:
    START TRANSACTION;
    INSERT
    INTO `accounts` (`uuid`,`login`,`pass`,`type`,`name`,`last_mod_date`)
    VALUES (1685,3670696,367,1,'_Потенциальный клиент','2010-3-22');
    SELECT uid
    FROM accounts
    WHERE uuid = 1685;
    COMMIT;

    По сути, не работает более одной команды в одном запросе. Подскажите, в чем может быть дело, как исправить? Пробовал при помощи ADO и ВК v7mysql.dll
     
  2. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.469
    Симпатии:
    27
    Про 1с не знаю ничего. Про мускул..
    1. Какой тип таблицы?
    2. Автокоммит отключен?
    3. и что значит
    Вы же программист, должны уметь правильно описывать проблему. Какую-то ошибку пишет или что?
     
  3. Karambol

    Karambol Гость

    1.InnoDB
    2.Этого не знаю.
    3.Вываливается с ошибкой You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near

    Дело даже не в транзакциях, запрос:
    INSERT
    INTO `accounts` (`uuid`,`login`,`pass`,`type`,`name`,`last_mod_date`)
    VALUES (1685,3670696,367,1,'_Потенциальный клиент','2010-3-22');
    SELECT uid
    FROM accounts
    WHERE uuid = 1685;

    тоже не работает.

    Хотя по отдельности оба запроса выполняются без ошибок.
     
  4. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.469
    Симпатии:
    27
    1. Сначала выполните SET autocommit = 0;
    2. Потом все ваши запросы выполняйте не сразу скопом, а по одному.т.е сначла старт, потом инсерт, потом селект. Насколько я понял, вы их выполняете сходу все в один запрос? мускл так не умеет)
    3. и снова SET autocommit = 1;
     
  5. Karambol

    Karambol Гость

    Ясно, спасибо, попробую :(
     
Загрузка...

Поделиться этой страницей