2011-11-30 2 views
0

Je le tableau folowing appelé mots $ajouter des valeurs avec « sur clé en double »

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* 
    )) 

Je veux insérer avec les éléments suivants:

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()); 
    } 

« Exemples » La table a une clé appelé ID avec augmentation automatique; le mot de champ est « unique »

ce que je veux est que dans le champ « Attestation » les valeurs sont ajoutées chaque fois que le « mot » est le même

de sorte que le résultat devrait être le suivant:

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

donc j'ai essayé d'ajouter une « clé en double sur » expression

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()); 
    } 

, mais je ne peux pas comprendre ce que je dois ajouter après = attestation afin que le di Les attestations suivantes sont ajoutées les unes à la suite des autres, comme par exemple: DI.5,9, DI.2,8 Ou est-ce que la clé 'dupliquée' n'est pas la bonne façon de procéder?

Répondre

1

Essayez ceci;

INSERT INTO Words2 (Word, attestation) VALUES ('mot de $', 'attestation de $) sur la mise à jour clé en double attestation = CONCAT (attestation, '', '$ attestation')

Cependant, il peut être difficile de séparer ces valeurs plus tard. Vous souhaiterez peut-être envisager une autre table afin de pouvoir établir une relation un-à-plusieurs.

Questions connexes