Синтаксис предложения RETURNING в Mysql PDO

Я пытаюсь добавить запись и в то же время вернуть идентификатор этой добавленной записи. Я читал, что это можно сделать с помощью пункта RETURNING.

$stmt->prepare("INSERT INTO tablename (field1, field2) 
                               VALUES (:value1, :value2)
                          RETURNING id");

но вставка завершается ошибкой, когда я добавляю RETURNING. В добавляемой таблице есть поле auto-incremented с именем id.

Может ли кто-нибудь увидеть что-то не так с моим синтаксисом? а может PDO не поддерживает RETURNING?


person dmontain    schedule 09.05.2010    source источник


Ответы (1)


Я не думаю, что это имеет какое-либо отношение к поддержке PDO или нет. RETURNING поддерживается Oracle и PostgreSQL, но не MySQL.

Вместо этого используйте PDO::lastInsertId.

person Mark Byers    schedule 09.05.2010
comment
как насчет возврата других переменных, кроме последнего идентификатора вставки? - person Eric Leroy; 11.11.2013