SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 29.12.2012 11:54:42

letexa
Участник
Зарегистрирован: 30.11.2010
Сообщений: 4

Не возвращать значение переменной

Здравствуйте! Написал вот такую вещь по удалению строки из БД:

BEGIN
    SET @idDesc = (SELECT `dataDescription_iddataDescription` FROM users WHERE `username` = username);
    IF @idDesc IS NULL THEN
        DELETE FROM users WHERE `username` = username;
    ELSE
        DELETE users, datadescription
        FROM users, datadescription
        WHERE users.`username` = username
        AND datadescription.`iddataDescription` = users.`dataDescription_iddataDescription`;
    END IF;
END

А он мне ошибку: Subquery returns more than 1 row.
Я так понял возвращается два значения: результат удаления и значение переменной. Как надо объявить переменную, чтобы её значение не возвращалось? Спасибо!

Неактивен

 

#2 29.12.2012 13:23:56

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Не возвращать значение переменной

Нет ошибка в том, что (SELECT `dataDescription_iddataDescription` FROM users WHERE `username` = username) возвращает несколько строк.

Неактивен

 

#3 29.12.2012 13:58:24

letexa
Участник
Зарегистрирован: 30.11.2010
Сообщений: 4

Re: Не возвращать значение переменной

Да, вы правы. Этот запрос мне хрень какую-то выдает. Спасибо за подсказку, буду разбираться.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson