mysql數(shù)據(jù)庫(kù)主鍵自增長(zhǎng)后刪除數(shù)據(jù),id與題目個(gè)數(shù)不一致的處理
在開(kāi)發(fā)一個(gè)自動(dòng)抽題的小程序時(shí),你使用mysql數(shù)據(jù)庫(kù),將id設(shè)為主鍵自增長(zhǎng)。然而,你遇到了一個(gè)問(wèn)題,當(dāng)你刪除數(shù)據(jù)時(shí),數(shù)據(jù)庫(kù)的id與題目的數(shù)量不一致了。
解決方法
為了解決這個(gè)問(wèn)題,你可以直接查詢所有題目,然后在隨機(jī)選擇題目。下面是一個(gè)示例代碼:
select * from questions;
登錄后復(fù)制
這段代碼將返回所有題目。然后,你可以使用以下代碼隨機(jī)選擇一個(gè)題目:
Random random = new Random(); int randomId = random.nextInt(questions.size()); Question question = questions.get(randomId);
登錄后復(fù)制
這段代碼將創(chuàng)建一個(gè)random對(duì)象,并生成一個(gè)0到questions.size()-1之間的隨機(jī)數(shù)。然后,它將使用這個(gè)隨機(jī)數(shù)來(lái)獲取題目列表中的一個(gè)題目。
通過(guò)這種方法,你就可以在刪除數(shù)據(jù)后仍然從數(shù)據(jù)庫(kù)中隨機(jī)選擇題目,而不會(huì)出現(xiàn)id與題目數(shù)量不一致的問(wèn)題。