2011-11-30 42 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(认证, '', '$认证')

虽然稍后可能难以分开这些值。您可能需要考虑另一个表格,以便建立一个一对多的关系。