3

I'm trying to add a record, and at the same time return the id of that record added. I read it's possible to do it with a RETURNING clause.

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

but the insertion fails when I add RETURNING. There is an auto-incremented field called id in the table being added to.

Can someone see anything wrong with my syntax? or maybe PDO does not support RETURNING?

Dharman
  • 30,962
  • 25
  • 85
  • 135
dmontain
  • 1,621
  • 4
  • 14
  • 16

1 Answers1

8

I don't think it has anything to do with PDO supporting it or not. RETURNING is supported by Oracle and PostgreSQL but not by MySQL.

Use PDO::lastInsertId instead.

Ry-
  • 218,210
  • 55
  • 464
  • 476
Mark Byers
  • 811,555
  • 193
  • 1,581
  • 1,452