sql запрос

Discussion in 'PHP' started by barnaki, 30 Jan 2009.

  1. barnaki

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

    Joined:
    2 Nov 2008
    Messages:
    676
    Likes Received:
    130
    Reputations:
    4
    помогите плиз постоить sql запросу
    вообщем есть 2 таблицы из которых нужно 1 запрос удалить из каждой по одной строке . они совпадают по столбцам id_msg и msg_id . это ключи.
    delete from guest,answers where id_msg=msg_id=2; не работает . но удалять надо по 2
    или любой другой цифре которую сюда можно вписать .
     
  2. eLWAux

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

    Joined:
    15 Jun 2008
    Messages:
    860
    Likes Received:
    616
    Reputations:
    211
    Code:
    DELETE FROM `guest`, `answers` WHERE `id_msg` = '2' AND `msg_id` = '2' LIMIT 1;
     
  3. barnaki

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

    Joined:
    2 Nov 2008
    Messages:
    676
    Likes Received:
    130
    Reputations:
    4
    не работает можно без Limit
     
  4. barnaki

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

    Joined:
    2 Nov 2008
    Messages:
    676
    Likes Received:
    130
    Reputations:
    4
    вот как надо было
    DELETE FROM guest,answers USING guest INNER JOIN answers WHERE guest.id_msg = answers.msg_id AND answers.msg_id =2;
     
  5. VDShark

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

    Joined:
    1 Feb 2007
    Messages:
    260
    Likes Received:
    158
    Reputations:
    62
    JOIN сильно будет затормаживать работу. особенно если отношния достаточно большие. М.б. имеет смысл сделать нечто вроде такого:
    Code:
    start transaction;
    SET @id = 5;
    DELETE .... WHERE ... = @id;
    DELETE .... WHERE ... = @id;
    commit;
    
     
  6. barnaki

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

    Joined:
    2 Nov 2008
    Messages:
    676
    Likes Received:
    130
    Reputations:
    4
    нет я одним запросом . я тоже думал . но это всего лишь гостевая. и связи не такие сложные чтобы разбивать его на несколько запросов
     
  7. VDShark

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

    Joined:
    1 Feb 2007
    Messages:
    260
    Likes Received:
    158
    Reputations:
    62
    2 barnaki
    Извини меня за сленг) Под словом "отношение" в бд понимается таблица, а не связь :)
     
    1 person likes this.
  8. barnaki

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

    Joined:
    2 Nov 2008
    Messages:
    676
    Likes Received:
    130
    Reputations:
    4
    страшно спросить как называется сама база . но любопытство сильнее .
     
  9. VDShark

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

    Joined:
    1 Feb 2007
    Messages:
    260
    Likes Received:
    158
    Reputations:
    62
    barnaki Так и обзывается - база... Ну либо схема :)