Azzido, уже не раз про LIMIT говорили. Если заранее ясно что результатирующий запрос вернет одну запись, то лимит вовсе не нужен, и даже будь то не уникальный ключ, то со случаем mysql_result будет всегда одно значение
Aligan (Сегодня / 05:29)
Если заранее ясно что результатирующий запрос вернет одну запись, то лимит вовсе не нужен
Это большое заблуждение. Вы не в сферическом вакууме и СУБД не знает того, что знаете вы (вы знаете, что запись одна точно, а она нет). Поэтому найдя первый совпадающий результат она продолжит читать таблицу. В случае с уникальным индексом такого не будет. (хотя надо будет точно потестить , может и лучше будет с limit 1)
204, Я поясню. Говоря ранее написанное мное утверждение я совсем не то имел ввиду, что вы думали. Вернемся к примеру ilNIle -
<?php
$query = "SELECT `salt` FROM `users` WHERE `id` = '{$uid}'";
$sql = mysql_query($query);
?>
В этом примере он уточнил какой метод лчше использовать, на что Azzido сказал что лучше mysql_result() потому что быстрее. И теперь о правильной логике. Да я знаю, что запись одна и только одна потому что используется первичный ключ (и уверен что в примере атвора он тоже заявлен). Сами посудите - это видно из контекста кода. Но если первичный ключ в таблице не заявлен, и автор таким образом пытается получить результа, то следует пора задумать о проектировании БД более грамотней.
208, отличие в том что TRUCATE сначала удаляет таблицу, а потом заново восстанавливает, что в свою очередь намного быстрее построчного удаления строк при помощи DELETE.