第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

避免重復(fù)進(jìn)入MySQL數(shù)據(jù)庫(kù)的最佳方法

避免重復(fù)進(jìn)入MySQL數(shù)據(jù)庫(kù)的最佳方法

肥皂起泡泡 2019-07-13 10:14:26
避免重復(fù)進(jìn)入MySQL數(shù)據(jù)庫(kù)的最佳方法我有一個(gè)3列的表-id(PK),pageId(FK),name。我有一個(gè)php腳本,它將大約5000條記錄轉(zhuǎn)儲(chǔ)到表中,其中大約一半是重復(fù)的,具有相同的pageId和名稱(chēng)。頁(yè)面ID和名稱(chēng)的組合應(yīng)該是唯一的。當(dāng)我在php中循環(huán)腳本時(shí),防止復(fù)制被保存到表中的最佳方法是什么?
查看完整描述

3 回答

?
牧羊人nacy

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超7個(gè)贊

第一步是在表上設(shè)置一個(gè)唯一的鍵:

ALTER TABLE thetable ADD UNIQUE INDEX(pageid, name);

當(dāng)有重復(fù)的時(shí)候,你必須決定你想做什么。你應(yīng)該:

  1. 無(wú)視它?

    INSERT IGNORE INTO thetable (pageid, name) VALUES (1, "foo"), (1, "foo");
  2. 覆蓋以前輸入的記錄?

    INSERT INTO thetable (pageid, name, somefield)VALUES (1, "foo", "first")ON DUPLICATE KEY UPDATE (somefield = 'first')
    INSERT INTO thetable (pageid, name, somefield)VALUES (1, "foo", "second")ON DUPLICATE KEY UPDATE (somefield = 'second')
  3. 更新一些柜臺(tái)?

    INSERT INTO thetable (pageid, name)VALUES (1, "foo"), (1, "foo")ON DUPLICATE KEY UPDATE (pagecount = pagecount + 1)


查看完整回答
反對(duì) 回復(fù) 2019-07-13
?
慕田峪9158850

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊

從MySQL的角度來(lái)看,您可以這樣做

alter table YOURTABLE add unique index(pageId, name);

如果你的措辭是正確的,并且你想從php做它,你可以這樣做。

$already_done = array();foreach ($records as $record){
   $unique_hash = md5($record['name'].$record['pageId']);
   if (!in_array($unique_hash, $already_done))
   {
      $already_done[] = $unique_hash;
      // sql insert here
   }}

不管怎樣,這對(duì)你來(lái)說(shuō)都很好。


查看完整回答
反對(duì) 回復(fù) 2019-07-13
  • 3 回答
  • 0 關(guān)注
  • 468 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)