PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (128): В начало « ... 16 17 18 19 [20] 21 22 23 24 ... » В конец

> Найдено сообщений: 1914
3d_killer Отправлено: 27 Марта, 2016 - 19:36:52 • Тема: Mysql PostgreSql PDO бекап • Форум: SQL и Архитектура БД

Ответов: 46
Просмотров: 564
почему же, когда выборка идет с параметрами то есть
PHP:
скопировать код в буфер обмена
  1. $query.=" INNER JOIN ".PDB."core_group_to_user ON ".PDB."core_group_to_user.id_user=".PDB."core_users.id AND ".PDB."core_group_to_user.id_group = :group";

а параметры вытаскиваются для вывода через LEFT
(Добавление)
у меня таблица объектов, таблица типов объектов, таблица связи (тип - объект), таблица параметров, таблица с вариантами значений параметров (если тип параметра выбирается из списка) и таблица со значениями параметров или ссылками на них к конкретному объекту
3d_killer Отправлено: 27 Марта, 2016 - 17:03:59 • Тема: Mysql PostgreSql PDO бекап • Форум: SQL и Архитектура БД

Ответов: 46
Просмотров: 564
OrmaJever, ну вот вариат который ты привел первым так и описывается в документации, второй вариант я не видел и на сколько понял он используется в последних версиях PG, хотя он вполне логичен
3d_killer Отправлено: 27 Марта, 2016 - 16:30:27 • Тема: Mysql PostgreSql PDO бекап • Форум: SQL и Архитектура БД

Ответов: 46
Просмотров: 564
armancho7777777 я не спорю для mysql это не много, просто помимо хотелось бы изучить и постгри и тут выяснились неприятности, то что привык делать так это по правилам построения запросов нельзя (не уверен, но возможно, что неправильное построение запросов влечет за собой лишние тормоза)
На данный момент я закончил с переходом и вобщем доволен, а именно проект может работать как на MYSQL так и на постгри
PHP:
скопировать код в буфер обмена
  1. define (Base,"PostgreSQL");
  2. //define (Base,"MySQL");

написал класс переноса таблиц и данных с mysql на постгри
чуть лучше стал знать постгри
Различий много:
получить последний id
PHP:
скопировать код в буфер обмена
  1. DB::DBH()->lastInsertId(PDB."adresat_directory_values_id_seq");

у PG вместо уникального индификатора выступают последовательности, нарушение которых дает возможность дублирования этих самых уникальных индификаторов что не приятно, сразу этого не узрел и после переноса при добавлении новых позиций база поехала, сначало не понял в чем дело, когда нашел пришлось дописывать в переносе текущий максимальный ID, так же PG ругается если пришел неверный формат данных, то есть надо все контролировать на уровне PHP, IF там нет!, но есть CASE который работает и в MYSQL
PHP:
скопировать код в буфер обмена
  1.  
  2. UPDATE rs_adresat_object_type_to_directory SET position=
  3. CASE
  4. WHEN position=".$pos." THEN ".$new."
  5.         ELSE ".$pos."
  6. WHERE position in(".$pos.",".$new.") AND type_id=:type
  7.  

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

В целом не жалею о полученном опыте, с Mysql конечно же не прощаюсь ибо много проектов работают на нем, на большей части хостов нет пока PG
(Добавление)
а и от кавычек удалось избавиться в названии таблиц удалив тот самый "-" в названии, теперь при смене подключения база сразу заводится хоть с PG хоть с MySQL
(Добавление)
armancho7777777 пишет:
как поступит MySQL в случае с LEFT JOIN, а как в случае INNER JOIN ?

это как бы разные вещи, данных по какому либо параметру может не быть, но в выборку объект попасть должен просто с этими параметрами NULL, INNER JOIN выкинет объект из выборки
(Добавление)
OrmaJever ну у меня в проекте кода который работает на постгри и при этом не работает на MySQL не оказалось помимо дат методы которые описывал выше
(Добавление)
может просто пока не было таких запросов
3d_killer Отправлено: 27 Марта, 2016 - 01:32:26 • Тема: Mysql PostgreSql PDO бекап • Форум: SQL и Архитектура БД

Ответов: 46
Просмотров: 564
да приходится некоторые фиксы писать, ну пофиг
PHP:
скопировать код в буфер обмена
  1.  
  2. public static function GetDateFormatNameBD()
  3.                         {
  4.                                 if(Base=='PostgreSQL'){return "to_char";}
  5.                                 if(Base=='MySQL'){return "DATE_FORMAT";}       
  6.                         }
  7.                 public static function GetDateFormat()
  8.                         {
  9.                                 if(Base=='PostgreSQL'){return "dd.Mon.YYYY";}
  10.                                 if(Base=='MySQL'){return "%d.%m.%Y";}                          
  11.                         }
  12.  
3d_killer Отправлено: 27 Марта, 2016 - 01:31:28 • Тема: extract() • Форум: Вопросы новичков

Ответов: 3
Просмотров: 202
ой
3d_killer Отправлено: 27 Марта, 2016 - 01:30:39 • Тема: Вопрос по коду PHP • Форум: Напишите за меня, пожалуйста

Ответов: 68
Просмотров: 967
выводи откуда хочешь, я к примеру показал, при чем тут поиск и замена этих фигурных скобок????
3d_killer Отправлено: 26 Марта, 2016 - 20:48:52 • Тема: Mysql PostgreSql PDO бекап • Форум: SQL и Архитектура БД

Ответов: 46
Просмотров: 564
кстати о группировке, получается правильно делать 2 селекта?
вот рабочий запрос постгри
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT pre_core_group.name,pre_core_group.id, count(pre_core_group_to_user.id_user) AS count_user
  2.         FROM pre_core_group
  3.                 LEFT JOIN pre_core_group_to_user ON pre_core_group.id=pre_core_group_to_user.id_group
  4.         GROUP BY pre_core_group.name,pre_core_group.id
  5. ORDER BY pre_core_group.name

но как тут можно вытащить все поля таблицы pre_core_group.*
?
(Добавление)
OrmaJever пишет:
постре попросит строго указать агрегатную функцию в селекте

то есть поля?
3d_killer Отправлено: 26 Марта, 2016 - 19:53:37 • Тема: Mysql PostgreSql PDO бекап • Форум: SQL и Архитектура БД

Ответов: 46
Просмотров: 564
ну да сейчас меняю, перебил таблички убрал "-", потихоньку поднимается, надо проверить около 500 операций
(Добавление)
вот не пойму только, написал перенос, все что касается дат, не могу вставить пустую дату в постгри так сделать нельзя?
(Добавление)
а так вобщем большая часть работоспособна, единственное LIMIT OFFSET через запятую было да и с группировкой надо использовать DISTINCT
3d_killer Отправлено: 26 Марта, 2016 - 18:41:19 • Тема: Mysql PostgreSql PDO бекап • Форум: SQL и Архитектура БД

Ответов: 46
Просмотров: 564
Вобщем я написал перенос, и успешно перенес базу на постгри, но появилась новая проблема кавычки а именно mysql хочет так:
PHP:
скопировать код в буфер обмена
  1. $STH = DB::DBH()->prepare("SELECT * FROM `".PDB."core_constant`");

а постгри так:
PHP:
скопировать код в буфер обмена
  1. $STH = DB::DBH()->prepare("SELECT * FROM \"".PDB."core_constant\"");

не менять же весь код, PDO же для чего сделано, но ответа я не нашел, кто мигрировал как тут быть?
(Добавление)
без кавычек никак, так как в названиях таблиц присутствует "-"
3d_killer Отправлено: 26 Марта, 2016 - 16:25:34 • Тема: Помочь доделать базу в PHP • Форум: Напишите за меня, пожалуйста

Ответов: 2
Просмотров: 44
ну вот кнопки есть
3d_killer Отправлено: 26 Марта, 2016 - 13:26:19 • Тема: Вопрос по коду PHP • Форум: Напишите за меня, пожалуйста

Ответов: 68
Просмотров: 967
не нужны
(Добавление)
вместо
CODE (html):
скопировать код в буфер обмена
  1. <a href="{url}">Главная</a>

вот это
PHP:
скопировать код в буфер обмена
  1. <a href="<?=$url?>">Главная</a>
3d_killer Отправлено: 26 Марта, 2016 - 13:24:27 • Тема: Mysql PostgreSql PDO бекап • Форум: SQL и Архитектура БД

Ответов: 46
Просмотров: 564
я не про хенкока, а про дедпула.
А то что все сложнее понятно бывает, на прошлой работе база 300 гигов была но на MsSQL там о таких вещах говорить намного сложнее, но сейчас разговор о меньших данных, но все же
(Добавление)
LIME пишет:
нет меня
обманывать не хорошо
3d_killer Отправлено: 26 Марта, 2016 - 13:20:21 • Тема: foreach • Форум: Вопросы новичков

Ответов: 1
Просмотров: 124
а темы зачем дублируешь?
3d_killer Отправлено: 26 Марта, 2016 - 13:17:39 • Тема: Mysql PostgreSql PDO бекап • Форум: SQL и Архитектура БД

Ответов: 46
Просмотров: 564
недавно новый фильм смотрел от марвела по комиксу, там был один супер герой, ну типо добрый ну и типо не совсем, че то так вспомнилось Радость
3d_killer Отправлено: 26 Марта, 2016 - 13:14:47 • Тема: foreach • Форум: Вопросы новичков

Ответов: 1
Просмотров: 112
а вот недавно темка была http://forum.php.su/topic.php?fo...72233#1458472233

Страниц (128): В начало « ... 16 17 18 19 [20] 21 22 23 24 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB