2011-11-30 82 views
0

增加值我有如下因素陣列名爲$話與「關於重複鍵

Array 
(
[0] => Array 
    (
     [token] => dwA 
     [pos] => *DII.7,8* 
    ) 

[1] => Array 
    (
     [token] => nTr 
     [pos] => *DI.5,9* 
    ) 

[2] => Array 
    (
     [token] => dwA 
     [pos] => *DI.2,8* 
    ) 

[3] => Array 
    (
     [token] => nTr 
     [pos] => *DI.2,8* 
    )) 

我想用下面插入:

foreach ($words as $value) 
    { 
    $word = $value['token']; 
    $attestation = $value['pos']; 
    $insert="INSERT INTO Examples (Word, Attestation) VALUES ('$word', '$attestation') 

    mysql_query($insert) OR die(mysql_error()); 
    } 

表「的例子」有一個關鍵稱爲自動增加的ID; 字段字是「獨一無二」

什麼,我想的是,在該領域中的鑑證「的值是每次「詞」是一樣的

加入這樣的結果應該是以下幾點:

Id word  Attestation 
1  dwA   *DII.7,8*, *DI.2,8* 
2  nTr   *DI.5,9*, *DI.2,8* 

,所以我嘗試添加一個「上重複鍵」這句話

foreach ($words as $value) 
    { 
    $word = $value['token']; 
    $attestation = $value['pos']; 
    $insert="INSERT INTO Words2 (Word, Attestation) VALUES ('$word', '$attestation') 
      on duplicate key update Attestation = 
"; 
    mysql_query($insert) OR die(mysql_error()); 
    } 

,但我想不出我有什麼認證後添加=使得迪fferents證明是相繼添加的,例如:DI.5,9,DI.2,8 或者是'重複鍵'不是正確的方法嗎?

回答

1

試試這個;

INSERT INTO Words2(Word和認證)VALUES( '$字', '$認證')上的重複密鑰更新認證 = CONCAT(認證, '', '$認證')

雖然稍後可能難以分開這些值。您可能需要考慮另一個表格,以便建立一個一對多的關係。