[sql] Вопросы по БД

Discussion in 'PHP' started by FraiDex, 25 Feb 2008.

Thread Status:
Not open for further replies.
  1. Melfis

    Melfis Elder - Старейшина

    Joined:
    25 Apr 2011
    Messages:
    505
    Likes Received:
    105
    Reputations:
    53
    Была аналогичная ситуация. В итоге пришлось делать дамп скриптом с лимитированным кол-вом, а потом им же заливать.
     
  2. Linuxoid

    Linuxoid Elder - Старейшина

    Joined:
    13 Feb 2007
    Messages:
    200
    Likes Received:
    28
    Reputations:
    0
    Ребят, помогите с мускулем и пхп. Никак не могу сам придумать.

    Есть примерно такая таблица из 2 столбов:
    15 | 19
    28|34
    34|56
    34|58
    92|41
    76|11
    11|44

    Надо выводить из них информацию, но НЕ выводить строки, если информация из нулевого столбца встречается в ЛЮБОЙ строке первого столбца. Я честно долго думал и курил мануалы. Ничего не придумал. Буду очень благодарен за помощь...
     
  3. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Linuxoid Например так:
    Code:
    SELECT `id`, `val` FROM `table` WHERE val NOT IN (SELECT `id` FROM `table`);
     
    _________________________
  4. Nelz.

    Nelz. Member

    Joined:
    2 Aug 2010
    Messages:
    151
    Likes Received:
    7
    Reputations:
    0
    как в бд хранить ссылку на картинку?
     
  5. FewG

    FewG Member

    Joined:
    25 Dec 2009
    Messages:
    136
    Likes Received:
    12
    Reputations:
    0
    Как обычный текст.

    Code:
    INSERT INTO `table` (`images`) VALUES ("URL");
     
  6. Nelz.

    Nelz. Member

    Joined:
    2 Aug 2010
    Messages:
    151
    Likes Received:
    7
    Reputations:
    0
    всем привет...

    CREATE TABLE parent (id INT NOT NULL,
    PRIMARY KEY (id)
    ) ENGINE=INNODB;
    CREATE TABLE child (id INT,
    INDEX par_ind (id),
    FOREIGN KEY (id) REFERENCES parent(id)
    ON DELETE CASCADE
    ) ENGINE=INNODB;

    как сделать чтоб при добавления айди на parent добавился и на child (все автоматом) айди 1 там же 1

    думаю поняли...
     
    #1446 Nelz., 10 Jul 2011
    Last edited: 10 Jul 2011
  7. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Триггер создайте типа этого
    Code:
    > DELIMITER |
    > CREATE TRIGGER par_chi_trg AFTER INSERT ON parent FOR EACH ROW
    > BEGIN
    > INSERT INTO child VALUES (NEW.id);
    > END;
    > |
    > DELIMITER ;
    
    Теперь при вставке записи в parent с некоторым id этот же id будет заноситься и в child
     
  8. Nelz.

    Nelz. Member

    Joined:
    2 Aug 2010
    Messages:
    151
    Likes Received:
    7
    Reputations:
    0
    скин вес код а то не понятно нечево
     
  9. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    А что из этого непонятно? Откройте консоль mysql, выберите свою БД. введите команды, приведенные мною в предыдущем посте, затем пробуйте добавить запись в parent
     
  10. Nelz.

    Nelz. Member

    Joined:
    2 Aug 2010
    Messages:
    151
    Likes Received:
    7
    Reputations:
    0
    так и делаю

    Code:
    -- --------------------------------------------------------
    
    --
    -- Table structure for table `child`
    --
    
    CREATE TABLE IF NOT EXISTS `child` (
      `id` int(11) DEFAULT NULL,
      KEY `par_ind` (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=cp1251;
    
    --
    -- Dumping data for table `child`
    --
    
    
    -- --------------------------------------------------------
    
    --
    -- Table structure for table `parent`
    --
    
    CREATE TABLE IF NOT EXISTS `parent` (
      `id` int(11) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=cp1251;
    
    --
    -- Dumping data for table `parent`
    --
    
    
    --
    -- Triggers `parent`
    --
    DROP TRIGGER IF EXISTS `par_chi_trg`;
    DELIMITER //
    CREATE TRIGGER `par_chi_trg` AFTER INSERT ON `parent`
     FOR EACH ROW BEGIN
    INSERT INTO child VALUES (NEW.id);
     END
    //
    DELIMITER ;
    
    --
    -- Constraints for dumped tables
    --
    
    --
    -- Constraints for table `child`
    --
    ALTER TABLE `child`
      ADD CONSTRAINT `child_ibfk_1` FOREIGN KEY (`id`) REFERENCES `parent` (`id`) ON DELETE CASCADE;
    
     
    #1450 Nelz., 11 Jul 2011
    Last edited: 11 Jul 2011
  11. qaz

    qaz Elder - Старейшина

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    Всем привет, можете хтонибуть своим словами обьяснить што такое коментарий -- и зачем он нужен?
     
  12. Nelz.

    Nelz. Member

    Joined:
    2 Aug 2010
    Messages:
    151
    Likes Received:
    7
    Reputations:
    0
    такое же как и // на пхп и на других
     
  13. qaz

    qaz Elder - Старейшина

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    ну хорошо
    тогда тут
    http://www.zacks.com/blog/archive.php?g=-6+union+select+1,2,3,4,5,6--+
    без
    --+
    ничего не отображается почему? какую роль там играет етот коментарий?
     
  14. Nelz.

    Nelz. Member

    Joined:
    2 Aug 2010
    Messages:
    151
    Likes Received:
    7
    Reputations:
    0
    _forum.antichat.ru/threadnav43966-1-10.html
    _http://dev.mysql.com/doc/refman/5.1/en/comments.html

    закс уже упал помойму от моего напора :eek:
     
    #1454 Nelz., 11 Jul 2011
    Last edited: 11 Jul 2011
  15. Feonor

    Feonor Elder - Старейшина

    Joined:
    23 Jul 2008
    Messages:
    128
    Likes Received:
    52
    Reputations:
    19
    Копаемся в БАЗЕ

    прив, знатоки. еле еле тему нашел) щас буит зарядка для ума) Итак:
    Исследую БД Oracle, никакой документации на базу у меня нет(имеется ввиду ДБ а не сама СУБД), нужно понять какая таблица с какой связана и откуда берется. Доступ к бд только по сети, акк у меня с правами только чтения, да и то, не всех таблиц. Но. Все самое вкусное доступно. Остается только разобраться. Кстати, версия БД:
    Суть вопроса в следующем:
    Есть таблицы СВОЙСТВА_ДОКУМЕНТОВ, ЗНАЧЕНИЯ_СВОЙСТВА_ДОКУМЕНТОВ, СВОЙСТВА_ДОКУМЕНТОВ_ССЫЛКИ. И есть таблица ПРИХОДНЫЙ_ОРДЕР. Включаем мозг и догадываемся что атрибуты из таблицы свойств нужны в таблице ордеров! Вопрос: Как найти связь между этими таблицами?? O_0
    То что я смог это отследить связи ключей таблиц СВОЙСТВА_ДОКУМЕНТОВ, ЗНАЧЕНИЯ_СВОЙСТВА_ДОКУМЕНТОВ, СВОЙСТВА_ДОКУМЕНТОВ_ССЫЛКИ и ОРДЕРА, но это не привело ни к чему. Мои познания не позволили мне ничего придумать кроме селектов вида:


    Уехал на этом очень далеко, но постоянно закапываюсь, так как таблиц over 2k. К слову сказать, те кто мастрячил структуру не заботились о своей чести и достоинстве и названия таблиц иногда совсем не соответствуют содержанию, и вот еще наткнулся на таблицу у которой значения совпадают с первичным_ключом от другой таблицы и при этом, о ужас!, это не как не отражается в all_constraints . Исходя из всего вышесказанного прошу помощи а именно:
    Помогите написать SELECT который найдет все имена таблиц у которых в любом столбце хотя бы в одной строке, значение совпадает с заданным.
    Ну вы поняли что я хочу, и как подвопрос: это возможно? я уже сомневаться начал.
     
  16. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    подскажите...
    есть таблица например регистрации. там поле ip

    как вывести все значения где у разных записей одинаковы ip (то есть регались с одного ипа)
     
  17. Melfis

    Melfis Elder - Старейшина

    Joined:
    25 Apr 2011
    Messages:
    505
    Likes Received:
    105
    Reputations:
    53
    select column_name, count(column_name) from columns group by column_name order by 2 DESC

    Как-то так, column_name = ip, columns = твоя таблица, 2 - столбец для сортировки, desc -обратный порядок сортировки.
     
  18. Maytanet

    Maytanet New Member

    Joined:
    11 Jul 2011
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    with eh (ecp_st, ecp_nz) as (
    select p.ecp_st, p.ecp_nz
    from DNKBPF.PF P where p.ecp_st = 19000 and 51000 between p.ecp1 and p.ecp2
    union all
    select p.ecp_st, p.ecp_nz
    from DNKBPF.PF p, eh h where p.ecp_st = h.ecp_nz and 51000 between p.ecp1 and p.ecp2
    )
    select *
    from eh

    подскажите пожалуйста как в эту таблицу добавить столбец из другой таблицы (db2)
     
  19. qaz

    qaz Elder - Старейшина

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75

    я там ненашол ответ на свой вопрос
     
  20. $Lemur$

    $Lemur$ Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    70
    Likes Received:
    15
    Reputations:
    0
    Подскажите мощный десктопный софт для работы с большими базами (что бы как родной с MySQL дружил)

    пробовал EMS SQL Manager for MySQL но почему то при большом объеме экспортируемых записей выдает ошибки...

    База (точнее в ней одна таблица и один столбец) на 2гига хочу сделать следующее http://forum.antichat.ru/thread284177.html но танцы с бубном и пыховским скриптом поднадоели. Есть варианты сделать поставленные задачи по цивилизованней
     
Thread Status:
Not open for further replies.