我有一张桌子'字样'像这样:
id column1 column2 lang
1 word1 category1 en
id列是UNIQUE主键,column1不可能是唯一的,因为某些单词在其他语言中可以相同(lang)
每个单词在第2列ex:category1,category2 ......等等中可以有一个或多个类别。
首先,我检查该单词中是否存在该单词,如果存在,我保存id
PHP
$id = 1;
$word = 'word1';
$category = 'category2';
$lang = 'en';
INSERT INTO words (id , column1, column2, lang)
VALUES ($id, '$word', '$category', '$lang')
ON DUPLICATE KEY UPDATE
id = $id,
column1 = '$word',
column2 = CONCAT(column2, ',$category'),
lang = '$lang'
如果$ category尚未在第2列中,但如果存在第2列,那么这种方法很有效:category1,category2,category2 ...... etc ......
我需要的是每个类别只有一次在第2列中:category1,category2
而不是 category1,category2,category2
或 category2,category1,category2