Задать значение переменное в базе от и до.

Тема в разделе "Базы данных", создана пользователем Nimor, 18 май 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Nimor

    Nimor Читатель

    Заблокирован
    Регистр.:
    18 ноя 2009
    Сообщения:
    22
    Симпатии:
    4
    Всем доброе время суток.

    Есть база. В ней таблица. В таблице записи. В каждой записи есть поле даты.

    Вид поля : 2010-05-18 12:47:39

    Как мне запросом задать всем записям поле от и до?

    Допустим мне нужно задать от 2010-03-11 11:00:00 до 2010-05-05 21:00:00

    И все новости будут рандомно между этим временем расположены.

    Как это реализовать?
     
  2. unsiker

    unsiker

    Регистр.:
    6 июн 2008
    Сообщения:
    465
    Симпатии:
    172
    SELECT * FROM TABLE WHERE DATEFIELD BETWEEN '2010-03-11 11:00:00' AND '2010-05-05 21:00:00'
     
  3. demmy

    demmy

    Регистр.:
    13 ноя 2006
    Сообщения:
    330
    Симпатии:
    96
    Это не задать, это выбрать. А задать, я думаю скриптом только.
     
  4. unsiker

    unsiker

    Регистр.:
    6 июн 2008
    Сообщения:
    465
    Симпатии:
    172
    МЛЯ, ты расписал вопрос, который я 3 раза перечитывал, но так и не понял. Напиши что есть на входе и что нужно получить на выходе(не абстрактными значениями, а конктретно таблицу с 2 - 3 записями). Что означает "ЗАДАТЬ"?
     
  5. chang

    chang

    Регистр.:
    20 ноя 2009
    Сообщения:
    364
    Симпатии:
    117
    вы изменить значения в базе хотите или че?....
    если да то просто измените селект на апдейт ( или дуруго опрератор)
    PHP:
    UPDATE table
    set x
    '1',
        
    '2'
    WHERE DATEFIELD BETWEEN '2010-03-11 11:00:00' AND '2010-05-05
     
  6. Nimor

    Nimor Читатель

    Заблокирован
    Регистр.:
    18 ноя 2009
    Сообщения:
    22
    Симпатии:
    4
    Надо выполнить запрос?

    Но где в нем указать название строки в базе? Да и какой код из 2-ух верный?)

    Выдает ошибку:

    Да. Изменить значение поля "topic_date_add" на даты "ОТ" и "ДО". Вот и все:)
     
  7. hipachka

    hipachka

    Регистр.:
    16 мар 2009
    Сообщения:
    391
    Симпатии:
    77
    Ну естественно он будет выдавать ошибку. Свои названия полей подставили хотябы ?
     
  8. jo0o00nyy

    jo0o00nyy Постоялец

    Регистр.:
    12 май 2010
    Сообщения:
    65
    Симпатии:
    27
    Возьми в "скобочки" ' вторую дату и без пробелов...
    Код:
    ...BETWEEN '2010-03-11 11:00:00' AND '2010-05-05'
     
    Nimor нравится это.
  9. Nimor

    Nimor Читатель

    Заблокирован
    Регистр.:
    18 ноя 2009
    Сообщения:
    22
    Симпатии:
    4
    Поставил название полей.

    Таблица: Prefix_Topic

    Поле: Topic_date_add

    Что именно еще поставить надо?
     
  10. chang

    chang

    Регистр.:
    20 ноя 2009
    Сообщения:
    364
    Симпатии:
    117
    какой-то ты невнимательный...
    видишь подсвеченную красную дату? ее нужно взять в двойные кавычик ==> " ( с обоих сторон )

    кроме того ты изменил названия таблицы (Prefix_Topic) и поле (Topic_date_add) по которому задается поиск, но не изменил значения которые нужно проапдейтить (задать)
    а именно
    PHP:
     x '1',
    '2' 
    у тебя в таблице походу столбцов "х" и "у" нету, поэтому их нужно заменить на значения из вашей таблицы

    а вообще возьми в какой-то документации почитай про SQL, или как минимум про оператор UPDATE
    http://dev.mysql.com/doc/refman/5.0/en/update.html
    http://www.w3schools.com/sql/sql_update.asp
    http://phpclub.ru/mysql/doc/update.html
    http://ru.wikipedia.org/wiki/Update_(SQL)
     
    Nimor нравится это.
Статус темы:
Закрыта.