Comments 22
Не совсем понятно зачем(точнее КАК) можно удалять из запроса… часть запроса :)
ИМХО башка набекрень и мозги наружу (будут)
Еще запросы очень весело через Zend_DB собирать
ИМХО башка набекрень и мозги наружу (будут)
Еще запросы очень весело через Zend_DB собирать
Да собственно, обычная практика по оформлению sql запросов в коде, писать в одну строчку не вижу смысла, соответственно остается один вариант. Но ваш формат запроса может выйти за пределы 1 экрана, что не есть гуд, причиной я думаю будет обращения к колонкам каждой таблицы на новой строке.
У Вас либо запросы «ОГОГО»,
либо монитор «агага»
либо монитор «агага»
А куда уйдет километровый запрос, если он написан в одну строку?
Лучше уж покрутить мышью вниз, чем вправо))
Лучше уж покрутить мышью вниз, чем вправо))
кашица какая-то…
Хабр пожрал часть ответа…
Тут описано, как комментировать в запросах
И не надо никаких ".,",.,.,.", в которых запутаться легко.
Тут описано, как комментировать в запросах
И не надо никаких ".,",.,.,.", в которых запутаться легко.
непонял зачем так усложнять. почему вы не используете стандартные комментарии SQL:
— комментарий
ведь так еще проще:
и таже свобода в быстром отключении кусков запроса и комментировании
— комментарий
ведь так еще проще:
$sql = "SELECT m.id, m.text --Выбираю ID и текст сообщения , u.name, u.email -- Выбираю имя и email пользователя FROM messages m -- Таблица сообщений LEFT JOIN users u ON u.id=m.user_id WHERE m.status=0 -- Со статусом 0 (прочитанные) AND u.id='".$user_id."' -- Пользователя с указанным ID ORDER BY m.date -- Сортировка по дате добавления сообщения LIMIT 10 -- Выбираем 10 записей ";
и таже свобода в быстром отключении кусков запроса и комментировании
Привычнее использовать комментарии # в SQL, но это всё равно не стоит делать на продакшене. Ибо вы отсылаете каждый раз абсолютно лишние данные.
PS Но при отладке и профилировании запросов, очень удобно в MуSQL высылать комментарии. Тут вы правы :)
PS Но при отладке и профилировании запросов, очень удобно в MуSQL высылать комментарии. Тут вы правы :)
подозреваю что при отправлении запроса в БД комментарии вырезаются автоматически.
а если даже и нет, то их можно вырезать перед отправкой вручную с помощью простого регекспа. но это уже дело вкуса.
в любом случае намешивать для запроса такую кучу конкатенаций как предлагает автор, для меня например — громоздко
а если даже и нет, то их можно вырезать перед отправкой вручную с помощью простого регекспа. но это уже дело вкуса.
в любом случае намешивать для запроса такую кучу конкатенаций как предлагает автор, для меня например — громоздко
если тебе потребуется в зависимости от условия приджойнивать таблицу с дополнительным фильтром — что ты будешь делать?
Мы давно практикуем другой подход:
1. Запросы хранятся в отдельном репозитории (пусть это будет отдельный файл) в ввиде элементов одного массива:
2. Использование такого запроса:
Такой подход облегчает код, исключает дублирование SQL-запросов в коде.
1. Запросы хранятся в отдельном репозитории (пусть это будет отдельный файл) в ввиде элементов одного массива:
$queryCache['getSome'] = " SELECT `col1`, `col2`, `col9` FROM `table` WHERE `text` = '%s' LIMIT %u; ";
2. Использование такого запроса:
mysql_query(sprintf($queryCache['getSome'], 'пользователь', 10));
Такой подход облегчает код, исключает дублирование SQL-запросов в коде.
я тоже склоняюсь к такому варианту, но иногда бывает не очень удобно:
1. кроме самого запроса всегда отправляются переводы строк и отступы.
2. некоторые SQL-клиенты в списке текущих процессов показывают только первую строку. в итоге видим только «SELECT». конечно, это уже минус конкретных программ, но всё же.
а в общем, я вас поддерживаю двумя руками.
1. кроме самого запроса всегда отправляются переводы строк и отступы.
2. некоторые SQL-клиенты в списке текущих процессов показывают только первую строку. в итоге видим только «SELECT». конечно, это уже минус конкретных программ, но всё же.
а в общем, я вас поддерживаю двумя руками.
ух ты, как будто 1999 год на дворе. посмотрите какую-нибудь ORM чтоле.
Запросы в MySQL вроде можно комментировать кака в Си, через /*… */
Я пишу примерно так:
$query = «SELECT fields1, fields2
FROM t
WHERE a =? AND b =?
ORDER BY field1»;
Имхо, проще выходит))
Я пишу примерно так:
$query = «SELECT fields1, fields2
FROM t
WHERE a =? AND b =?
ORDER BY field1»;
Имхо, проще выходит))
Я либо выношу в отдельный файлы конфигурации (часто тупо *.sql), либо использую ORM.
Писать запросы в теле приложения не очень красиво получается.
Писать запросы в теле приложения не очень красиво получается.
Sign up to leave a comment.
Оформление SQL запросов в PHP