MySQL: выбор нескольких полей в несколько переменных в хранимой процедуре

Можно ли выбрать несколько столбцов для нескольких переменных в одном и том же запросе выбора в MySQL?

Например:

DECLARE iId INT(20); DECLARE dCreate DATETIME; SELECT Id INTO iId, dateCreated INTO dCreate FROM products WHERE pName=iName; 

Каков правильный синтаксис для этого?

    Ваш синтаксис не совсем прав: вам нужно перечислить поля до INTO и соответствующие целевые переменные после:

     SELECT Id, dateCreated INTO iId, dCreate FROM products WHERE pName = iName 

    ========== ========== Консультировать

    @martin clayton Ответ правильный, но это только совет.

    Пожалуйста, избегайте использования неоднозначной переменной в хранимой процедуре.

    Пример :

     SELECT Id, dateCreated INTO id, datecreated FROM products WHERE pName = iName 

    Вышеприведенный пример вызовет ошибку (ошибка с нулевым значением)

    Пример ниже приведен правильно. Надеюсь, это имеет смысл.

    Пример :

     SELECT Id, dateCreated INTO val_id, val_datecreated FROM products WHERE pName = iName 

    Вы также можете сделать их однозначными, ссылаясь на таблицу, например:

    [Кредит: maganap ]

     SELECT p.Id, p.dateCreated INTO id, datecreated FROM products p WHERE pName = iName 

    В качестве альтернативы ответ Мартина вы также можете добавить часть INTO в конце запроса, чтобы сделать запрос более читаемым:

     SELECT Id, dateCreated FROM products INTO iId, dCreate