принебрежение resource link identifier в mysql_... командах

_Leonchik_

Новичок
принебрежение resource link identifier в mysql_... командах

собственно сам вопрсо:
принебрежение resource link identifier в mysql_... командах

mysql_query ($script_select, $link);
в частности $link .

Если допускается не использование сылки на рессырс, можно ли пренебрегать им?
какие могут быть последствия этого?

-~{}~ 27.11.06 01:46:

еще вопрос:
часто встречаю mysql скрипты с использованием префиксов названием самих таблиц в запросах. например:
PHP:
select * from tableName where tableName.id='1'

select * from tableName1
Inner join tableName2  ON tableName1.id = join tableName2.id
это дело привычки или в этом есть какой нить смысл?
почему бы не написать так:

PHP:
select * from tableName1 t1
Inner join tableName2 t2 ON t1.id = join t2.id
Намного компактее же.
 

Wicked

Новичок
это дело привычки или в этом есть какой нить смысл?
Когда у тебя в запросе есть 2 или более таблиц (алиасов), у которых некоторые поля называются одинаково, то таким образом ты даешь понять mysql-ю, из которой именно таблицы брать это поле.
 

_Leonchik_

Новичок
т.е. если я использую в проекте одну базу данных и подключение вторых в будующем не предвидется, то проблем не будет? Спасибо.

Автор оригинала: Wicked
Когда у тебя в запросе есть 2 или более таблиц (алиасов), у которых некоторые поля называются одинаково, то таким образом ты даешь понять mysql-ю, из которой именно таблицы брать это поле.
так вот и разграничение с одинаковыми полями.

select * from tableName1 t1
Inner join tableName2 t2 ON t1.id = join t2.id

зачем имя таблицы тянуть за собой?
Развче что читабельней будет, если в запросе будет много таблиц, и много полей будут учавствовать в выборке.

Сэнкс за ответы.
 

Wicked

Новичок
Не очень удачный пример. Скорее уж:
select t1.name, t2.name from tableName1 AS t1 // тут без этого не обойтись
Inner join tableName2 AS t2 USING (id) // а там, где не надо, можно и не таскать

зачем имя таблицы тянуть за собой?
В каком именно месте? Или моего примера уже достаточно?
 

_Leonchik_

Новичок
select t1.name, t2.name from tableName1 AS t1 // тут без этого не обойтись

без чего?
без select t1.name, t2.name ? - ну это подразумевалось, как тут например: ON t1.id = join t2.id
и почему ВЫ AS указали? без него же тоже пропускает. Или снова дело привычки?

Кстати. а конструкция USING (id) - сделает в этом случае тоже самое что и я привел?.
.... проверил - работает! никогда так не юзал.
век живи - век учись!
 

Андрейка

Senior pomidor developer
ну просто не форум, а центр психологической поддержки какой-то... - скажите доктор, это не больно? - не волнуйтесь больной, все будет хорошо.. потерпите немножечко, еще немного, вот почти закончил...

_Leonchik_
то проблем не будет?
будут проблемы - почитаешь мануал (благо там все расписано, хоть и без картинок)...

Или снова дело привычки?
снова дело привычки... если не можешь понять что такое alias (не в mysql, а вообще), зачем он нужен и как его можно использовать - не используй...
 

_Leonchik_

Новичок
Андрейка - какой ты раздрожительный сегодня!
Один вопрос: для чего нужен именно этот форум?
Да, у меня вопросы - и разве не для этого форум?

Не в обиду - я же не спрашиваю как мне делать, и дайте мне весь готовый код.
я же хочу научится правильно делать, а для этого хочу понять для себя некие (как Вы выразились: психологические!) моменты, вчастности MySQLя.
И, если Вам вопросы не нравятся - не отвечайте.
Найдутся люди, кот. также интересовались данными моментами. и могут поделится мыслями, и опытом.
Удачи!
 

Андрейка

Senior pomidor developer
_Leonchik_
это не вопросы, это психологические проблемы..

открывай мануал на функции [m]mysql_query[/m] и читай что будет если пропустить второй параметр.. прочитал (не сомневаюсь).. но ведь это мануал, бездушный кусок страницы!! лучше спросить у людей, они в этом разбираются...

по второму вопросу - ФИО от прозвища отличить можешь?
 

_Leonchik_

Новичок
да, читал. и еще раз прочитал. теперь снова психологическая проблема -
Если параметр link_identifier опущен, используется последнее открытое соединение. Если открытые соединения отсутствуют, функция пытается соединиться с СУБД, аналогично функции mysql_connect() без параметров. Результат запроса буфферизируется.
т.е. он буферизуется если нет переданного указателя?
Неправильное у них там предложение и несет двойственный характер. Как понимать: -или всегда буфферизуется, или только если нет переданного указателя.
Ладно это все флейм. но психологию никто не отменял.
 

Андрейка

Senior pomidor developer
про указатель предложение закончилось, началось про отсутствие соединения.. может буфферизируется если только отсутствовало соединение? брр... стоп.. а ты знаешь чем буфферизированный от небуфферизированного отличается? тебе очень нужен буфферизированный и ты боишся, что получишь другой?

PS. внизу страницы мануала есть "См. также" со списком функций.. мона его полистать
 
Сверху