我有一张自动增量ID 的表格。
我必须根据id prior the insert
生成序列号我可以找到最高的ID值,但是如果之前有删除,那么
table != max(id)+1
答案 0 :(得分:0)
将其分解为两个查询。
运行插入查询以检索ID。
从检索到的ID中创建序列号。
使用更新查询将序列值添加到记录中。
使用ORM模块的示例代码
$my_table = ORM::factory('Mytable');
$my_table->field1 = 'Value1';
$my_table->field2 = 'Value2';
$my_table->save(); // inserts record
// Create serials (will obviously be more complex than this)
$my_table->serial = $my_table->id;
$my_table->save(); // updates record
使用数据库模块的示例代码
list($id) = DB::insert('my_table', array('field1','field2'))
->values(array('value1','value2')
->execute();
// Create serials (will obviously be more complex than this)
$serial = $id;
DB::update('my_table')
->set(array('serial' => $serial))
->where('id', '=', $id);