think php自增,thinkphp5分表自增ID解决方案
生成自增ID的方式有很多種,這里采用的是mysql單獨(dú)建一張表來獲取自增ID
創(chuàng)建表的sql語(yǔ)句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){
//?參數(shù)
$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()'];
//?提交事務(wù)
Db?::?commit();
}catch?(?\Exception?$e?){
//?回滾事務(wù)
Db?::?rollback();
}
}
總結(jié)
以上是生活随笔為你收集整理的think php自增,thinkphp5分表自增ID解决方案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信用卡还款方式和利息
- 下一篇: dede中list标签php,dedec