鍍金池/ 問(wèn)答/PHP  Linux/ mysql中insert_id受并發(fā)的影響有多大?

mysql中insert_id受并發(fā)的影響有多大?

用戶插入數(shù)據(jù)后獲取自增長(zhǎng)的id, $db->insert_id。

如果一旦出現(xiàn)并發(fā)的情況,還能否獲得準(zhǔn)確的id?

回答
編輯回答
茍活

mysql的鎖是由mysql去維護(hù)的,對(duì)于主鍵id的insert,跟語(yǔ)言沒(méi)關(guān)系。不用擔(dān)心重復(fù)的問(wèn)題。

2017年4月4日 00:49
編輯回答
刮刮樂(lè)

SQL server 里的 @@IDENTITY 是線程安全的。

不會(huì)出現(xiàn)有:

插入后再查詢一次獲得的可不一定是正確的ID,如果兩個(gè)用戶同時(shí)插入了數(shù)據(jù),順序是:
user1: do insert
user2: do insert
user1: do query
user2: do query

user1得到的id是user2的


這樣的情況。

可以查SQL server的幫助。

2017年11月3日 17:35
編輯回答
心夠野

不受影響,insert_id與特定鏈接關(guān)聯(lián),它返回的是特定連接上一次執(zhí)行insert操作的id
不同的數(shù)據(jù)庫(kù)連接同時(shí)insert也互不干擾insert_id

2017年9月24日 16:30
編輯回答
奧特蛋

做redis隊(duì)列,然后從redis逐條存入mysql,獲取id再返回給相應(yīng)用戶,并發(fā)量大的情況下可以限制幾秒類操作一次,幾秒內(nèi)操作一次,不過(guò)用戶就需要等幾秒了

2017年1月30日 13:43
編輯回答
柒喵

打個(gè)比方
php文件內(nèi)容為

<?php
    $ip=$_SERVER["REMOTE_ADDR"];;
    echo $ip;

A.用戶,B用戶,他們同時(shí)打開(kāi) A用戶會(huì)echo到B用戶的值嗎?

2017年6月9日 11:48