我有一个名为$ words
的下列数组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());
}
表'Examples'有一个名为ID的键,自动增加; 字段词是'unique'
我想要的是,在“证明”字段中,每次“单词”相同时都会添加值
所以结果如下:
Id word Attestation
1 dwA *DII.7,8*, *DI.2,8*
2 nTr *DI.5,9*, *DI.2,8*
所以我尝试添加'on duplicate key'短语
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());
}
但我无法弄清楚在Attestation =之后我必须添加什么,以便不同的证明一个接一个地添加,例如: DI.5,9 , DI.2,8 或者'重复键'不是正确的方法吗?
答案 0 :(得分:1)
试试这个;
INSERT INTO Words2(Word,Attestation)VALUES('$ word','$ attestation') 重复密钥更新证明= CONCAT(证明,',','$证明')
尽管如此,稍后将这些值分开可能有点困难。您可能需要考虑另一个表,以便建立一对多的关系。