2010-05-09 3 views
3

J'essaie d'ajouter un enregistrement et de retourner en même temps l'identifiant de cet enregistrement ajouté. J'ai lu qu'il est possible de le faire avec une clause RETURNING.Syntaxe de la clause "RETURNING" dans Mysql PDO

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

mais l'insertion échoue lorsque j'ajoute RETURNING. Il y a un champ auto-incremented appelé id dans la table en cours d'ajout.

Quelqu'un peut-il voir quelque chose de mal avec ma syntaxe? ou peut-être PDO ne prend pas en charge RETURNING?

Répondre

7

Je ne pense pas que cela ait quelque chose à voir avec PDO le supportant ou non. RETURNING est supporté par Oracle et PostgreSQL mais pas par MySQL. Pour cela, utilisez PDO::lastInsertId à la place.

+0

qu'en est-il du renvoi d'autres variables autres que le dernier identifiant d'insertion? –