2種辦法
創(chuàng)新互聯(lián)自成立以來,一直致力于為企業(yè)提供從網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、電子商務(wù)、網(wǎng)站推廣、網(wǎng)站優(yōu)化到為企業(yè)提供個(gè)性化軟件開發(fā)等基于互聯(lián)網(wǎng)的全面整合營銷服務(wù)。公司擁有豐富的網(wǎng)站建設(shè)和互聯(lián)網(wǎng)應(yīng)用系統(tǒng)開發(fā)管理經(jīng)驗(yàn)、成熟的應(yīng)用系統(tǒng)解決方案、優(yōu)秀的網(wǎng)站開發(fā)工程師團(tuán)隊(duì)及專業(yè)的網(wǎng)站設(shè)計(jì)師團(tuán)隊(duì)。
1.修改你的數(shù)據(jù)庫表,將ID設(shè)為自增長,注:只有主鍵才可以設(shè)置為自增長
id自增是由mysql負(fù)責(zé)的,設(shè)置id AUTO_INCREMENT 插入時(shí)不用插入id值就能實(shí)現(xiàn)自增CREATE TABLE `table ` (`id` INT(8) NOT NULL AUTO_INCREMENT, PRIMARY KEY(`id`));
2.代碼中進(jìn)行處理
Statement ps;
ResultSet rs;
int id = 0;
..................
String sql="select max(id) as id from message";
rs = ps.executeQuery(sql);//查詢出最大ID
if(rs.next){//如果有ID,原有ID+1
id = rs.getInt("id")+1;
}else{//否則 ID 初始為0
id = 0;
}
//下面接你寫的代碼就OK了
PreparedStatement ps;
String sql="insert message (id,name,msg) value(?,?,?)"
ps.setString(1,id);
ps.setString(2,name);
ps.setString(3,msg);
CREATE TABLE `T_USER` (
`ID` bigint(20) NOT NULL auto_increment,
-- auto_increment表示該列自動(dòng)增長
-- 還可創(chuàng)建多列 ...
)
到 phpmyadmin中修改該列,把a(bǔ)uto_increment 勾上。保存即可。
怎么在thinkphp添加數(shù)據(jù)時(shí)獲取自動(dòng)增長的id?
下面是TP5的方法,TP3的在添加后變量直接就獲取了。添加數(shù)據(jù)后如果需要返回新增數(shù)據(jù)的自增主鍵,可以使用 getLastInsID 方法:
Db::name('user')-insert($data);
$userId = Db::name('user')-getLastInsID();或者直接使用 insertGetId 方法新增數(shù)據(jù)并返回主鍵值:
Db::name('user')-insertGetId($data);
ThinkPHP
ThinkPHP是一個(gè)免費(fèi)開源的,快速、簡單的面向?qū)ο蟮妮p量級(jí)PHP 開發(fā)框架,遵循?Apache2 開源協(xié)議發(fā)布,是為了簡化企業(yè)級(jí)應(yīng)用開發(fā)和敏捷WEB應(yīng)用開發(fā)而誕生的。
基本特性
簡單易用的MVC模式 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
模型(M):模型的定義由Model類來完成。Model類位于項(xiàng)目目錄下面的LibModel目錄。
控制器(C):應(yīng)用控制器(核心控制器)和Action控制器都承擔(dān)了控制器的角色,區(qū)別在于Action控制器完成業(yè)務(wù)過程,而應(yīng)用控制器(App類)負(fù)責(zé)調(diào)度控制。Action控制器位于項(xiàng)目目錄下面的LibAction目錄。
視圖(V):模板的實(shí)現(xiàn)是和框架無關(guān)的,做到了100%分離,可以獨(dú)立預(yù)覽和制作。模板目錄位于項(xiàng)目目錄下面的Tpl目錄。
2.獨(dú)創(chuàng)的核心編譯和二分法項(xiàng)目編譯機(jī)制
ThinkTemplate是一個(gè)使用了XML標(biāo)簽庫技術(shù)的編譯型模板引擎,支持兩種類型的模板標(biāo)簽,使用了動(dòng)態(tài)編譯和緩存技術(shù),而且支持自定義標(biāo)簽庫。
很多時(shí)候數(shù)據(jù)庫中表的主鍵都是自增id,
而在連續(xù)插入數(shù)據(jù)時(shí),需要前一條的自增id時(shí)候,可以使用PHP中的
mysql_insert_id();函數(shù)
如果我的回答沒能幫助您,請(qǐng)繼續(xù)追問。
您也可以向我們團(tuán)隊(duì)發(fā)出請(qǐng)求,
$sqll="INSERT INTO bd_fee(。。。。。)values('。。。。。)"; //插入數(shù)據(jù)記錄
$db-query($sqll);//執(zhí)行插入,一定要用query,不能用exec
$id=$db-lastInsertId();//獲取剛才插入記錄的自動(dòng)編號(hào)值。