ФорумПрограммированиеПыхнуть хотите?Готовые решения → goDB — библиотека работы с MySQL

goDB — библиотека работы с MySQL

  • Saniek

    Сообщения: 2 Репутация: N Группа: Кто попало

    Spritz 25 января 2012 г. 3:37, спустя 22 часа 6 минут 49 секунд

    Вот запрос:

    $sql=array();
    $sql[]="INSERT INTO pages_week (date,page,cnt,cnt1,cnt2,cnt3) select date,page,sum(cnt),sum(cnt1),sum(cnt2),sum(cnt3) from pages where DATE between date1 and date2 group by page";
    $sql[]="DELETE FROM pages_week WHERE date < date3;


    Сами по себе запросы выполняются. До этого запроса еще много запросов выполняется. Может ошибка из-за того что скапливается много данных и они не могут в базу сохраниться?
  • AlexB

    Сообщения: 4290 Репутация: N Группа: в ухо

    Spritz 25 января 2012 г. 6:47, спустя 3 часа 10 минут 4 секунды

    Васяц, а на питон либу не планируешь переписать?
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 25 января 2012 г. 7:05, спустя 18 минут 6 секунд


    Васяц, а на питон либу не планируешь переписать?
    а нахуй она там нужна?)
    Сапожник без сапог
  • vasa_c

    Сообщения: 3127 Репутация: N Группа: в ухо

    Spritz 25 января 2012 г. 7:54, спустя 49 минут 2 секунды

    Петон же итак охуенен, в нём всё есть.
  • moknomo

    Сообщения: 1 Репутация: N Группа: Кто попало

    Spritz 1 августа 2012 г. 3:52, спустя 188 дней 18 часов 57 минут

    Насколько стабилен godb второй версии?
    Сейчас использую первую версию на большом проекте. Теперь переходим на postgres и уходить с godb не хочется :)
  • vasa_c

    Сообщения: 3127 Репутация: N Группа: в ухо

    Spritz 1 августа 2012 г. 4:02, спустя 9 минут 34 секунды

    mysql стабилен, если без итераторов. только ни мультизапросов ни подготовленных выражений нет.
    с postgres не работаю, но скорее всего тоже стабилен )
  • alexxx

    Сообщения: 11 Репутация: N Группа: Кто попало

    Spritz 12 декабря 2012 г. 2:58, спустя 132 дня 23 часа 55 минут

    Запрос 'SELECT `price` FROM {hr_ads} WHERE `dates`>=?; AND `dates`<=?; AND `types`=?i; AND `cnt`=?in; AND `district` IN (?list;);' принимает форму
    SELECT `price` FROM `dle_hr_ads` WHERE `dates`>="2012-12-01" AND `dates`<="2012-12-31" AND `types`=1 AND `cnt`=NULL AND `district` IN ("1","2","3","4","5","6","7","8");
    а надо SELECT `price` FROM `dle_hr_ads` WHERE `dates`>="2012-12-01" AND `dates`<="2012-12-31" AND `types`=1 AND `cnt` IS NULL AND `district` IN ("1","2","3","4","5","6","7","8"); сейчас приходится пользоваться подстановкой ?q; вместо ?in; можно ли это исправить?
    Спустя 100 сек.
    версия goDB 1.3.2
  • Josh

    Сообщения: 2008 Репутация: N Группа: Кто попало

    Spritz 12 декабря 2012 г. 3:42, спустя 44 минуты 33 секунды

    alexxx, у тебя же сорцы. Конечно же можно
  • vasa_c

    Сообщения: 3127 Репутация: N Группа: в ухо

    Spritz 12 декабря 2012 г. 4:22, спустя 39 минут 57 секунд

    alexxx, хз. какие предложения? плейсхолдер только вводить новый, потому что в SET нужно оставлять `cnt`=NULL
  • alexxx

    Сообщения: 11 Репутация: N Группа: Кто попало

    Spritz 19 декабря 2012 г. 14:12, спустя 7 дней 9 часов 49 минут

    ну может тогда для ?in; оставить как есть а для ?ni; сделать IS NULL и в документации данную особенность указать
  • master

    Сообщения: 3236 Репутация: N Группа: Джедаи

    Spritz 20 декабря 2012 г. 10:09, спустя 19 часов 57 минут 1 секунду

    какие предложения?

    банально - при подстановке в плейсхолдер проверяешь переменную строгим равенством
    if ($var === NULL) { /* IS NULL */ }
    else { /* = */ }
    не всё полезно, что в swap полезло
  • vasa_c

    Сообщения: 3127 Репутация: N Группа: в ухо

    Spritz 20 декабря 2012 г. 10:24, спустя 15 минут 24 секунды

    master, нибанальна.
    приведи пример.
  • master

    Сообщения: 3236 Репутация: N Группа: Джедаи

    Spritz 20 декабря 2012 г. 11:07, спустя 42 минуты 5 секунд

    а, ну да, там же знак = перед плейсхолдером
    тогда остаётся вводить другой тип плейсхолдера, включающего при подстановке знака равенства или IS, например
    ?=
    пример:
    вместо 'WHERE `foo`= ?;' использовать 'WHERE `foo` ?=;'
    такое должно преобразовываться в
    WHERE `foo` = 123
    или
    WHERE `foo` IS NULL

    вспомнил, почему у меня никогда не было такой ситуации - всегда скармливал ORM хэш целиком, а каждая таблица имеет схему, где обозначено, какие поля могут быть нулевыми и при каких условиях эти поля считать нулевыми. например, если приходит форма с пустым строковым полем - преобразовывать его в NULL
    Спустя 174 сек.
    =?in -> ?=in
    не всё полезно, что в swap полезло
  • ange007

    Сообщения: 6 Репутация: N Группа: Кто попало

    Spritz 16 декабря 2013 г. 16:13, спустя 361 день 5 часов 6 минут

    А куда делась вся ветка ( документация, и прочее ): http://pyha.ru/go/godb/ ?
    В частности хотелось бы документацию почитать.
  • md5

    Сообщения: 11949 Репутация: N Группа: в ухо

    Spritz 17 декабря 2013 г. 1:11, спустя 8 часов 57 минут 13 секунд

    попробуйте https://github.com/vasa-c/go-db/wiki
    все умрут, а я изумруд

Пожалуйста, авторизуйтесь, чтобы написать комментарий!