【发布时间】:2009-09-11 10:51:15
【问题描述】:
我有一个可能由多个用户连续执行的查询。我担心如果我运行 db_last_insert_id 命令,由于并发性,某些用户可能无法获得最后一个插入 ID。但是根据:http://api.drupal.org/api/function/db_last_insert_id/6,它是:
返回最后一个插入 id。这个函数是线程安全的。
我的问题是,这个线程如何安全?代码只有:
<?php
function db_last_insert_id($table, $field) {
return db_result(db_query("SELECT CURRVAL('{". db_escape_table($table) ."}_". db_escape_table($field) ."_seq')"));
}
?>
我没有看到任何关于锁定表的信息或什么也没有?
【问题讨论】:
标签: mysql drupal concurrency multithreading