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

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

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

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

    Joined:
    8 Apr 2008
    Messages:
    223
    Likes Received:
    69
    Reputations:
    10
    нет, ты можешь создать скрипт (хоть на php), который будет вызываться по cron'у в определенное время и удалять записи по определенным критерям нужным тебе.
     
  2. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Можно ещё как вариант навесить триггер, который будет чистить таблицу.
     
  3. Mixon

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

    Joined:
    12 Mar 2008
    Messages:
    394
    Likes Received:
    119
    Reputations:
    12
    У меня таких 2 вопроса,может и тупые ну всёравно. Вопшем через какую комманду удалить ячейку с определенным id , например 100 в таблице "users"??
    И как удалить значение определенного поля в ячейке? есле оно было с самого начала пустым то в пхпмайадмин на етом поле типо значение пишет NULL ну есле изменить поле,а потом удалить весё с него,то просто пустое поле....
     
    #423 Mixon, 18 Jan 2009
    Last edited: 18 Jan 2009
    11 people like this.
  4. oRb

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

    Joined:
    9 May 2008
    Messages:
    294
    Likes Received:
    582
    Reputations:
    256
    1. DELETE FROM `users` WHERE `id`=100;

    2. UPDATE `users` SET `info`=NULL WHERE `id`=100;
     
    1 person likes this.
  5. Doom123

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

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    как выбрать случйную записаь из таблицы?
     
  6. AkyHa_MaTaTa

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

    Joined:
    19 Mar 2007
    Messages:
    557
    Likes Received:
    306
    Reputations:
    27
    SELECT * FROM `имя_таблицы` ORDER BY RAND() LIMIT 1
     
    #426 AkyHa_MaTaTa, 24 Jan 2009
    Last edited: 24 Jan 2009
    1 person likes this.
  7. #Wolf#

    #Wolf# Elder - Старейшина

    Joined:
    26 Mar 2008
    Messages:
    375
    Likes Received:
    166
    Reputations:
    16
    имеется бд.
    где вместо русских символов херня
    вот например
    открывал бд блокнотом, там кракозябры, и в phpmyadmin'e тоже.
    ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci AUTO_INCREMENT=xxx ;
     
    #427 #Wolf#, 26 Jan 2009
    Last edited: 26 Jan 2009
  8. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Если вы работаете в режиме latin1/binary - latin1_binary.
    Если вы работаете в режиме cp1251 - cp1251_general_ci.
     
  9. #Wolf#

    #Wolf# Elder - Старейшина

    Joined:
    26 Mar 2008
    Messages:
    375
    Likes Received:
    166
    Reputations:
    16
    не понял =\
    у меня бд вот такая уже:
    например
    это блокнотом открыл.
    можно с ней что нибудь сделать?
     
  10. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Если нет возможность сделать дамп с правильной кодировкой, то:

    1. Создать свою базу (хоть и на локал хосте), залить туда дамп и выставить правильную кодировку (cp1251_general_ci) - смотреть и наслаждаться

    2. http://www.artlebedev.ru/tools/decoder/

    3. Написать небольшой скрипт, который переведёт кракозябры в читабельный вид (по аналогии с пунктом два, только всё и сразу)
     
  11. Xantalion

    Xantalion New Member

    Joined:
    16 Feb 2008
    Messages:
    26
    Likes Received:
    1
    Reputations:
    3
    у меня такая проблема с кодировкой: когда добавляю при помощий php кода в таблицу русский текст в базу заносятся в формате utf-8. Если добавляю с помощью phpmyadmin или dumper.php, то все хорошо. Если навикатом, то тоже utf-8.

    в my.ini ставил все что можно
    пытался в скрипте добалять после коннекта
    Делал это в Windows в AppServer 2.5.8.
    Проверил в Денвере 3 (там удже все как я понял поднастроено под cp1251) всеравно текст в utf-8 зансится скриптом в БД.
    Что делать не понятно, как сделать чтоб заносились русские буквы? :confused:
     
  12. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Покажи скрипт, который добавляет...

    З.Ы. Вопрос не по теме SQL
     
  13. AkyHa_MaTaTa

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

    Joined:
    19 Mar 2007
    Messages:
    557
    Likes Received:
    306
    Reputations:
    27
    МБ втавляешь utf-8 и пытаешься убедить БД что это cp1251? Посмотри кодировку в переменой котороя содержит русский текст и всатвляеться в запрос
    echo mb_detect_encoding($_переменая_которая_вставляеться_в_запрос);
     
  14. Xantalion

    Xantalion New Member

    Joined:
    16 Feb 2008
    Messages:
    26
    Likes Received:
    1
    Reputations:
    3
    PHP:
    <?php

      $dblocation 
    "localhost"
      
    $dbuser "php"
      
    $dbpasswd "zxcv"
      
    $db_name "db_test";
      
      
    $dbcnx = @mysql_connect($dblocation$dbuser$dbpasswd); 
      if (!
    $dbcnx)  
      { 
        exit (
    "<P>В настоящий момент сервер базы данных  
               не доступен, поэтому корректное отображение  
               страницы невозможно.</P>"
    ); 
      } 
      else 
      { 
        echo 
    "<P>Соединение установлено.</P>"
      } 
      @
    mysql_query ("SET NAMES 'cp1251'");  

    $sql="CREATE DATABASE $db_name";
    mysql_query($sql);
     
    mysql_select_db ($db_name$dbcnx);

    $sql="CREATE TABLE tel_numb(fio text, address text, tel text)";
    mysql_query($sql);

    $sql="INSERT INTO tel_numb(fio, address, tel) 
             values('Вася Пупкин', 'ул.Горького, д.18', '23-23-23')"
    ;
    mysql_query($sql);         
    ?>
     
  15. AkyHa_MaTaTa

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

    Joined:
    19 Mar 2007
    Messages:
    557
    Likes Received:
    306
    Reputations:
    27
    что то с настройками MySQL, у меня все норм вноситься, кодировка cp1251, попробуй еще

    $sql="CREATE TABLE tel_numb(fio text, address text, tel text)
    ENGINE=MyISAM DEFAULT CHARSET=cp1251";

    как изврат вариант делать base64_encode русского текста ну и соответсвенно при выводе base64_decode, ну или "0". bin2hex(), ну это изврат.
     
  16. desTiny

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

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    а что заносится?
     
  17. #Wolf#

    #Wolf# Elder - Старейшина

    Joined:
    26 Mar 2008
    Messages:
    375
    Likes Received:
    166
    Reputations:
    16
    пункт 1) поковырял, ничего не вышло
    пункт 2)да получается
    пункт 1)база 200mb+ , мне ее резать пришлось чтобы восстановить =\
     
  18. Xantalion

    Xantalion New Member

    Joined:
    16 Feb 2008
    Messages:
    26
    Likes Received:
    1
    Reputations:
    3
    utf-8.... придется попробовать поотдельности установить апач и mysql и посмотреть что будет)
     
  19. mff

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

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    ничего не будет!
    Пропиши в скрипте:
    PHP:
    mysql_query ("set character set cp1251");
    вместо:
    PHP:
    @mysql_query ("SET NAMES 'cp1251'");
    ;)
     
  20. desTiny

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

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    PHP:
          mysql_query("SET NAMES 'cp1251'");
           
    mysql_query("SET CHARACTER_SET_CLIENT=cp1251");
          
    mysql_query("SET CHARACTER_SET_RESULTS=cp1251");
          
    mysql_query("SET CHARACTER_SET_CONNECTION=cp1251");
     
Thread Status:
Not open for further replies.