За последние 24 часа нас посетили 18018 программистов и 1653 робота. Сейчас ищут 1740 программистов ...

Поиск по таблицам

Тема в разделе "MySQL", создана пользователем Lexx, 27 окт 2010.

  1. Lexx

    Lexx Активный пользователь

    С нами с:
    31 июл 2008
    Сообщения:
    35
    Симпатии:
    0
    Добрый день!

    Помогите пожалуйста вот с кокой проблемой:
    Есть база данных в ней большое количество таблиц с одинаковыми столбцами, нужно чтоб когда создается следующая таблица данные в ней не повторялись (будет выводится сообщение что такие данные уже есть).

    Подскажите только запрос к базе данных который бы просто находил в столбцах совпадение.
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    дык так и делаешь - спрашиваешь у базы, мол покажи мне такое-то равно такому-то. если база скажет, что не нашла - значит пусто =)
    Если скажет, что нашла две - ну значит две =)

    или я не понял?
     
  3. Lexx

    Lexx Активный пользователь

    С нами с:
    31 июл 2008
    Сообщения:
    35
    Симпатии:
    0
    ) это то понятно, в теории!

    а как сказать?
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    может я не так понял. =) завтра буду умничать если получится
     
  5. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    igordata
    Не получилось? :D

    Lexx
    "Объяснение проблемы" - набор слов, без обид, хотя бы пример данных привели...
    Я практикуюсь в телепатии, но пока еще не освоил, увы :D
     
  6. Lexx

    Lexx Активный пользователь

    С нами с:
    31 июл 2008
    Сообщения:
    35
    Симпатии:
    0
    Я и сам конкретно не понимаю что надо
    Но в двух словах, создается таблица, название таблицы это имя пользователя, что конкретно будет заносится в эту таблицу я не знаю, но допустим пароль телефон и email пользователя, соответственно двух одинаковых пользователей с именем, паролем, телефоном и email быть недолжно. Чтоб не было совпадения с именем пользователя я заделал так:

    PHP:
    1. $query_name = mysql_query("SHOW TABLES LIKE '".$this->name."'");
    2. if (mysql_num_rows($query_name) == 1)
    3.     {
    4.         //если существует
    5.         echo 'Пользователь с таким именем уже существует'.'-----'.$this->name;
    6.        
    7.     }
    А вот как сделать так чтоб не было совпадений в нутрии существующих таблиц не знаю!
     
  7. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    Lexx
    На каждого пользователя своя отдельная таблица? o_O
    Как-то это не очень соответствует принципам проектирования БД...
     
  8. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    Lexx
    почитай про уникальные индексы по нескольким полям
    mysql unique key/index
     
  9. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    Gromo
    По-моему, топикстартеру нужны не составные индексы, а несколько обычных (уникальных).
    Кто же проверяет комбинированную уникальность (username + email) в таблице пользователей?
     
  10. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    Dagdamor
    что спросили, на то и ответил - уникальный индекс по нескольким полям