Вопрос - Ответ по MySQL

Печать RSS
2997

О

Землянин
0
Azzido, уже не раз про LIMIT говорили. Если заранее ясно что результатирующий запрос вернет одну запись, то лимит вовсе не нужен, и даже будь то не уникальный ключ, то со случаем mysql_result будет всегда одно значение
A

Оранжевые штаны
0
201, id не обязательно должно быть первичным ключем или автоинкрементом
О

Землянин
0
Azzido, покажи где я говорил обратное
Ж

Пришелец
0
Aligan (Сегодня / 05:29)
Если заранее ясно что результатирующий запрос вернет одну запись, то лимит вовсе не нужен
Это большое заблуждение. Вы не в сферическом вакууме и СУБД не знает того, что знаете вы (вы знаете, что запись одна точно, а она нет). Поэтому найдя первый совпадающий результат она продолжит читать таблицу. В случае с уникальным индексом такого не будет. (хотя надо будет точно потестить smile , может и лучше будет с limit 1)
О

Землянин
0
204, Я поясню. Говоря ранее написанное мное утверждение я совсем не то имел ввиду, что вы думали. Вернемся к примеру ilNIle -
<?php 
$query = "SELECT `salt` FROM `users` WHERE `id` = '{$uid}'"; 
$sql = mysql_query($query);
?>
В этом примере он уточнил какой метод лчше использовать, на что Azzido сказал что лучше mysql_result() потому что быстрее. И теперь о правильной логике. Да я знаю, что запись одна и только одна потому что используется первичный ключ (и уверен что в примере атвора он тоже заявлен). Сами посудите - это видно из контекста кода. Но если первичный ключ в таблице не заявлен, и автор таким образом пытается получить результа, то следует пора задумать о проектировании БД более грамотней.
М

Пацак
0
как правильно сделать запрос "удалить все с базы book" ?
DELETE * FROM book - так не выходит
A

Оранжевые штаны
0
TRUNCATE `book`;
A

Оранжевые штаны
0
ну или DELETE FROM `book`; отличия в сбросе значений автоинкремента в первом случае
О

Землянин
0
208, отличие в том что TRUCATE сначала удаляет таблицу, а потом заново восстанавливает, что в свою очередь намного быстрее построчного удаления строк при помощи DELETE.
Изменил: Олег (16.06.2010 / 17:36)
А

Пришелец
0
Как отсортировать вывод из базы по времени? ,тоесть чтобы новые на верху были?
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск