[asterisk-users] Dialplan MySQL inserted ID

Gareth Blades mailinglist+asterisk at dns99.co.uk
Wed Aug 21 06:10:51 CDT 2013


On 20/08/13 17:48, Gergo Csibra wrote:
>> can I echo this variable ?
> Like : exten =>>  s,n,NoOp(${LAST_INSERT_ID()})
>
> No, this is a mysql query, so:
>
> exten =>  s,n,MYSQL(Query resultid ${connid} INSERT INTO myTable SET C1="${ARG1}", C2="${ARG2}", timestamp="${STRFTIME(${EPOCH},,%Y-%m-%d_%H:%M:%S)}")
> exten =>  s,n,MYSQL(Query resultid ${connid} SELECT LAST_INSERT_ID())
> exten =>>  s,n,NoOp(${resultid})
>
> first is your original insert query, next you must read the
> last_insert_id() mysql function with an other query, then you can
> echo the resultid variable which contains the last inserted id.
>
I would be a bit concerned about doing this on a busy system. What would 
happen if one call inserted a value, a second call inserted a value and 
then the first call read the LAST_INSERT_ID? Would it get the wrong 
value back?

If you do it in AGI then each query can have its own database connection 
and so avoid this issue. If thats a problem use FastAGI and have a 
daemon running and use transactions or another method to avoid the issue.




More information about the asterisk-users mailing list