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

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

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

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Английский совсем не гугу?:)

    http://alertra.com/article103.php

    там и пример и хорошие комментарии
     
  2. Велемир

    Joined:
    19 Jun 2006
    Messages:
    1,123
    Likes Received:
    96
    Reputations:
    -25
    не фурычу англ(хреного точнее).На русском аналога нет?Да запутано всё ппц...треды треды треды треды...один чёрт.
     
  3. a1ex

    a1ex Banned

    Joined:
    11 Oct 2006
    Messages:
    517
    Likes Received:
    130
    Reputations:
    -13
    Расписать поле чаром?!
     
  4. Gin

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

    Joined:
    11 Sep 2008
    Messages:
    133
    Likes Received:
    7
    Reputations:
    4
    Есть в базе три поля
    id int primary key auto_increment
    Fname varchar 50
    Lname varchar 50

    записи переодически добавляются и удаляются
    как сделать так что поле id пересчитывалось т.е. я удаляю первые 10 записей и id первого поля получается равен 11, а не 1. Как сделать так чтоб данное поле пересчитывалось. Извините за кривое объяснение, но надеюсь вы меня поняли.
     
  5. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Code:
    http://rio.edu/news/index.php?key=-1+UNION+SELECT+1,2,version(),4,5
    
    http://rio.edu/news/index.php?key=-1+UNION+SELECT+1,2,char_length(version()),4,5
    
    =================================

    никак, ибо никому нафинг не надо. Вопрос уже обсуждался миллиард раз. И еще один разик.
     
  6. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Ну почему же никак. Если удаляются все записи из таблицы, то перед вставкой новых записей можно заюзать
    Code:
    SET INSERT_ID = 1;
    
    Если же удаляются не все записи, то этого делать не рекомендуется.
    Имхо, трогать AUTO_INCREMENT не нужно, пусть его живет =)
     
    #666 krypt3r, 18 Jun 2009
    Last edited: 18 Jun 2009
    1 person likes this.
  7. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Клёвый способ:)
     
    1 person likes this.
  8. Gin

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

    Joined:
    11 Sep 2008
    Messages:
    133
    Likes Received:
    7
    Reputations:
    4
    2Pashkela
    не мог бы ты указать где обсуждался :?
     
  9. FireFenix

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

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    А что тут сложного?
    Если ты удаляешь часть данных, то первый id будет до которого ты удалил. Т.е. удалил 10, 1ый id станет 11
    Если удаляешь всё, то через
    ALTER TABLE table AUTO_INCREMENT=1; //вместо 1 - нужный Id
    Обновишь автоинкремент на нужный id и дальше продолжай вносить. Или как альтернатива - хранить счётчик id и вручну его увеличить и присваивать значение записям
     
  10. VDShark

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

    Joined:
    1 Feb 2007
    Messages:
    260
    Likes Received:
    158
    Reputations:
    62
    Бред... И вопрос, и ответ.
    Интересно сколько раз еще это будут спрашивать.
    И сколько раз будут пытаться на это ответить с умным видом?
    Оно у вас что - есть просит что ли, чем вам мешает такая нумерация?
    А так же неплохо было бы воспользоваться поиском - стотыщмильонаф раз отвечали на этот вопрос, в том числе и я:
    https://forum.antichat.ru/showpost.php?p=707028&postcount=71
     
  11. Sharky

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

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    есть cтруктура базы
    Code:
    id | date | text
    не могу составить заапрос чтоб сгруппировать записи по дате и получить массив типа
    Code:
    дата 1
      -ид 1
      -дата 1
      -текст 1
      ---------
      -ид 2
      -дата 1
      -текст 2
    ------------
    дата 2
      -ид 3
      -дата 2
      -текст 3
      ----------
      -ид 4
      -дата 2
      -текст 4
    
     
  12. Sharky

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

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    ну а без извращений можно как-нить?)) до этого я и сам догадался)
     
  13. jetrey

    jetrey New Member

    Joined:
    27 Mar 2009
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Есть бэкап sql базы размером 4 гига, никак не хочет открываться. Что можно сделать ?
     
  14. Sharky

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

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    Sypex Dumper
     
  15. roddik

    roddik Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    13
    Reputations:
    0
    Качай http://www.google.com.ua/search?rlz=1C1GGLS_en-GBUA328UA328&sourceid=chrome&ie=UTF-8&q=large+text+file+viewer
     
  16. truelamer

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

    Joined:
    6 Nov 2007
    Messages:
    135
    Likes Received:
    30
    Reputations:
    5
    как можно нижеслежующие 2 запроса объединить в один!?!?!

    UPDATE my_table SET flag=1 where my_text like "%word_1%" or my_text like "%word_2%"

    и

    UPDATE my_table SET flag=2 where my_text like "%word_3%" or my_text like "%word_4%"
     
  17. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    как извратиться так чтобы вытащить из таблицы строку и в тоже время обновить значение?

    id name clicks
    o test 0

    надо достать test при этом увеличив clicks на 1
    пробовал через юнион - но он не позволяет объединить select с update
    подзапросы тоже не получаются

    и можно ли грамотно сделать инкремент без click = click + 1 ?
     
  18. wolmer

    wolmer Member

    Joined:
    12 May 2009
    Messages:
    438
    Likes Received:
    97
    Reputations:
    9
    Есть запрос

    "INSERT INTO vote (ip, date) VALUES ($REMOTE_ADDR, NOW())"

    Если я захочу проапдейтить одну колонку то надо писать так

    "INSERT INTO vote (ip) VALUES ($REMOTE_ADDR)"

    Да?
     
  19. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
  20. FireFenix

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

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    Вообще-то так вставиться значение тока в 1 колонку, остальные колонки выставят значения по дефолту.
    Для апдейта нужно юзать UPDATE ... SET ... [WHERE ...]
     
Thread Status:
Not open for further replies.