Forum Webscript.Ru
Общие => Базы данных => Тема начата: sense от 21 Февраля 2003, 12:14:36
-
Помогите разобраться (MySQL и PHP)
Лочу таблицу, пишу в неё ххх, жду, снова пишу уууу, анлочу.
В тоже время другим скриптом пишу zzz.
В результате порядок записей
xxx
zzz
yyy
LOCK TABLES locks tables for the current thread
Может у меня все три INSERT\'а - разные потоки?
Что считать потоком, если из PHP с базой работаю?
Или подскажите, где я тупой.
-
порядок записей еще ни о чем не говорит.
После того как вставил запись \'zzz\' проверь первым скриптом какие записи оно тебе выводит, т.е. только \'xxx\' или еще и \'zzz\'.
-
Лочу. Вставляю в цикле (номер=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);
Ткните пальцем, где что неправильно.
-
какая версия MySQL сервера?
-
3.21.29a-gamma-debug
-
> 3.21.29a-gamma-debug
ну тогда все понятно :-)
щас вообще-то стэйбл 3.23.55, да и 4.0 уже несколько месяцев как гамма ...
в общем настоятельно рекоммендую обновить, а потом тестировать и проверять :-)
-
в общем настоятельно рекоммендую обновить, а потом тестировать и проверять :-)
Я б вообще весь интернет по обновил и по другому сделал, кабы он мне принадлежал :-(
Не всегда скрипты пишутся для тех серверов, на которых можно всё что угодно обновлять, иногда кроме урезанного ФТП ничего не имеешь из прав.
Впрочем задача уже решена совершенно другим путём, без LOCK TABLES.
FIDGET:
Огромное спасибо за внимание к моему вопросу, кроме тебя никто не откликнулся даже.
Перед закрытием темы кинь пример работающего LOCK TABLES под 3.23.55
-
> Не всегда скрипты пишутся для тех серверов, на которых можно всё что угодно обновлять, иногда кроме урезанного ФТП ничего не имеешь из прав.
дело в том, что та версия, которую ты привел ой-ой-ой как устарела. С тех пор было пофиксено неимоверное количество баг в том числе и по секьюрности, не говоря уже о функциональности, потому и рекомендую проапгрейдить. Если сам не можешь - то у тебя есть шанс повлиять на других :)
> Перед закрытием темы кинь пример работающего LOCK TABLES под 3.23.55
ок, кину, только попозже, когла появлюсь на работе :-)