think php自增,thinkphp5分表自增ID解决方案
生成自增ID的方式有很多種,這里采用的是mysql單獨建一張表來獲取自增ID
創建表的sql語句CREATE?TABLE?`wx_article_auto_increment`?(
`id`?bigint(20)?unsigned?NOT?NULL?AUTO_INCREMENT,
`stub`?char(1)?COLLATE?utf8_bin?NOT?NULL?DEFAULT?'',
PRIMARY?KEY?(`id`),
UNIQUE?KEY?`stub`?(`stub`)
)?ENGINE=MyISAM?DEFAULT?CHARSET=utf8?COLLATE=utf8_bin;
php代碼/**
*?獲取分表自增ID
*
*?@param?string?$table?自增ID表名
*?@return?mixed?ID
*/
function?get_last_insert_id($table){
//?參數
$prefix?=?Config?::?get('database.prefix');
$table?=?$prefix?.?$table;
Db?::?startTrans();
try{
$sql?=?"REPLACE?INTO?$table?(stub)?VALUES?('a')";
Db?::?execute($sql);
$sql?=?'SELECT?LAST_INSERT_ID()';
$result?=?Db?::?query($sql);
return?$result[0]['LAST_INSERT_ID()'];
//?提交事務
Db?::?commit();
}catch?(?\Exception?$e?){
//?回滾事務
Db?::?rollback();
}
}
總結
以上是生活随笔為你收集整理的think php自增,thinkphp5分表自增ID解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信用卡还款方式和利息
- 下一篇: dede中list标签php,dedec