[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Несколько вопросов о MySQL
ntfs_ok
Доброго времени суток!
1.
У меня вопрс по обновлению БД. Обновление может затягиваться на 15 - 20 минут! А обновления приходят каждый час. Загвостка в том, что просто очистить и записать нельзя, надо обновиль, поэтому используется алгоритм
PHP
$query "UPDATE `shop2` SET `shopid`='$shopid', ...... WHERE `shopid`='$shopid' AND `ttid`='$ttid'";
                
        
mysql_query($query);
            if (!
substr(mysql_info(),14,1))
                {
                
$query "INSERT INTO shop2 VALUES ('".$shopid."',......')";
                
mysql_query($query);
                
//echo "$shopid  $ttid<br>";
                
}

if (!substr(mysql_info(),14,1)) - проверка, обновил ли, если нет, то вызов добавления(да, я знаю, что это жестоко, даже очень!) mad.gif
XML с данными для обновления может доходить почти до 2 МБ

2. Если я уверен, что БД выдаст только одну строку как мне получить её значения? Я что-то мудрил, но так ничего и не вышло.

3. Нет ли автономного параметра для определённого скрипта, чтобы только одна копия рботала, либо тут надо просто делать флаг в БД или в ФАЙЛЕ

Я Дико извиняюсь за возможную глупость... но когда самоучишься возникают такие вопросы blink.gif если ещё вопросы будут, допишу.



Спустя 11 минут, 23 секунды (13.07.2009 - 10:49) waldicom написал(а):

Спустя 16 минут, 35 секунд (13.07.2009 - 11:05) Nikitian написал(а):
Ещё можно replace попробовать.

Спустя 7 часов, 19 минут, 10 секунд (13.07.2009 - 18:25) ntfs_ok написал(а):
Nikitian, в таблице не выйдет обозначить не примари, не уникальный столбец sad.gif

у меня Id лавки ; вещь ;....

Спустя 1 час, 5 минут, 47 секунд (13.07.2009 - 19:30) sergeiss написал(а):
Ежели тебе не подходит "INSERT ... ON DUPLICATE KEY UPDATE" в силу любых причин, то смотри в сторону триггеров. По сути, указанная конструкция - частный случай триггера. А ты можешь сделать более сложные действия, т.е. любые. Добавить, запретить добавку, сделать вставку в другую таблицу, сделать каскадное удаление по сложному алгоритму... Всё, что только можно пожелать.

Спустя 4 минуты, 2 секунды (13.07.2009 - 19:34) ntfs_ok написал(а):
sergeiss, я думал об этом, тоько не знал как это называется...
Было бы хорошо, если бы вы ещё подсказали хороший справочник, по этой теме

Спустя 4 часа, 54 минуты, 47 секунд (14.07.2009 - 00:29) ntfs_ok написал(а):
Я переделал дбазу, теперь к счастью Примари можно поставить!

А насчёт моих двух вопросов, немоглибы вы ответ дать? sad.gif

Спустя 20 минут, 30 секунд (14.07.2009 - 00:50) pas написал(а):
Цитата
2. Если я уверен, что БД выдаст только одну строку как мне получить её значения? Я что-то мудрил, но так ничего и не вышло.


Вы это имеете ввиду?
PHP
$result=mysql_query("SELECT id, username FROM tbluser");
$row=mysql_fetch_row($result);


При этом доступ к содержимому будет $row[0] (id) или $row[1] (username )
Вместо mysql_fetch_row(), можно также использовать функцию mysql_fetch_assoc() возвращает ассоциативный массив, со значениями типо $row['id'] и $row['username '] или универсальную функцию mysql_fetch_array(), которая возвращает как числовой так и ассоциативный массив, подробности на php.net

Спустя 59 минут, 40 секунд (14.07.2009 - 01:49) ntfs_ok написал(а):
pas, вот именно, что я так пытался, но не вышло из-за чего-то mad.gif
Я даже дамп смотрел, там был массив, но вылазить он не хотел, поэтому и спросил. blink.gif

Спустя 1 день, 9 минут, 26 секунд (15.07.2009 - 01:59) ntfs_ok написал(а):
А у INSERT ... DUPLICATE KEY UPDATE есть ограничение по количеству строк, передаваемых в неё?! Я пытаюсь передать около 25 000 строк. wink.gif

и ещё что может вызывать Warnings: 5 , в еррорлоге он не появляется

Спустя 48 минут, 32 секунды (15.07.2009 - 02:47) PandoraBox2007 написал(а):

Спустя 21 минута, 44 секунды (15.07.2009 - 03:09) ntfs_ok написал(а):
PandoraBox2007, а к чему это? Я уже это читал.


_____________
Не так страшен программист, как его программы, хотя и он тоже страшный!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.