Автор Тема: LOCK TABLES не лочит :(  (Прочитано 3551 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sense

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://kapitalnt.krsn.ru:8080/
LOCK TABLES не лочит :(
« : 21 Февраля 2003, 12:14:36 »
Помогите разобраться (MySQL и PHP)

Лочу таблицу, пишу в неё ххх, жду, снова пишу уууу, анлочу.
В тоже время другим скриптом пишу zzz.

В результате порядок записей
xxx
zzz
yyy

LOCK TABLES locks tables for the current thread
Может у меня все три INSERT\'а - разные потоки?

Что считать потоком, если из PHP с базой работаю?

Или подскажите, где я тупой.
За сим откланяюсь,
ваш Дед Мороз

Оффлайн fidget

  • Непоседа
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 607
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
LOCK TABLES не лочит :(
« Ответ #1 : 21 Февраля 2003, 12:49:04 »
порядок записей еще ни о чем не говорит.
После того как вставил запись \'zzz\' проверь первым скриптом какие записи оно тебе выводит, т.е. только \'xxx\' или еще и \'zzz\'.
На Машине Тьюринга далеко не уедешь.

Оффлайн sense

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://kapitalnt.krsn.ru:8080/
LOCK TABLES не лочит :(
« Ответ #2 : 21 Февраля 2003, 17:18:54 »
Лочу. Вставляю в цикле (номер=0 to 100) записи "номер+ууу". Анлочу.
Параллельно другим скриптом вставляю zzz и читаю всю таблицу.

.......
136  32+yyy  2003-02-21 21:03:40  
137  zzzz  2003-02-21 21:03:40  
138  33+yyy  2003-02-21 21:03:40  
......

        $find
="yyy";
        
$sq="LOCK TABLES person WRITE";
        
$result mysql_query($sq$mlink);

        for (
$i=0;$i<100;$i++)
        {
            
$sq="INSERT INTO person (str, instime) VALUES (\'$i+$find\', now())";
            
$result mysql_query($sq$mlink);
        }

        
$sq="UNLOCK TABLES";
        
$result mysql_query($sq$mlink);


Ткните пальцем, где что неправильно.
За сим откланяюсь,
ваш Дед Мороз

Оффлайн fidget

  • Непоседа
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 607
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
LOCK TABLES не лочит :(
« Ответ #3 : 21 Февраля 2003, 19:33:38 »
какая версия MySQL сервера?
На Машине Тьюринга далеко не уедешь.

Оффлайн sense

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://kapitalnt.krsn.ru:8080/
LOCK TABLES не лочит :(
« Ответ #4 : 22 Февраля 2003, 13:01:44 »
3.21.29a-gamma-debug
За сим откланяюсь,
ваш Дед Мороз

Оффлайн fidget

  • Непоседа
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 607
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
LOCK TABLES не лочит :(
« Ответ #5 : 22 Февраля 2003, 14:30:37 »
> 3.21.29a-gamma-debug

ну тогда все понятно :-)
щас вообще-то стэйбл 3.23.55, да и 4.0 уже несколько месяцев как гамма ...

в общем настоятельно рекоммендую обновить, а потом тестировать и проверять :-)
На Машине Тьюринга далеко не уедешь.

Оффлайн sense

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://kapitalnt.krsn.ru:8080/
LOCK TABLES не лочит :(
« Ответ #6 : 23 Февраля 2003, 10:12:41 »
Цитировать
в общем настоятельно рекоммендую обновить, а потом тестировать и проверять :-)

Я б вообще весь интернет по обновил и по другому сделал, кабы он мне принадлежал :-(

Не всегда скрипты пишутся для тех серверов, на которых можно всё что угодно обновлять, иногда кроме урезанного ФТП ничего не имеешь из прав.

Впрочем задача уже решена совершенно другим путём, без LOCK TABLES.

FIDGET:
Огромное спасибо за внимание к моему вопросу, кроме тебя никто не откликнулся даже.

Перед закрытием темы кинь пример работающего LOCK TABLES под 3.23.55
За сим откланяюсь,
ваш Дед Мороз

Оффлайн fidget

  • Непоседа
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 607
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
LOCK TABLES не лочит :(
« Ответ #7 : 25 Февраля 2003, 00:28:14 »
> Не всегда скрипты пишутся для тех серверов, на которых можно всё что угодно обновлять, иногда кроме урезанного ФТП ничего не имеешь из прав.

дело в том, что та версия, которую ты привел ой-ой-ой как устарела. С тех пор было пофиксено неимоверное количество баг в том числе и по секьюрности, не говоря уже о функциональности, потому и рекомендую проапгрейдить. Если сам не можешь - то у тебя есть шанс повлиять на других :)

> Перед закрытием темы кинь пример работающего LOCK TABLES под 3.23.55

ок, кину, только попозже, когла появлюсь на работе :-)
На Машине Тьюринга далеко не уедешь.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28