我有两张桌子profieltest
和parametertest
.
我希望使用id相同和in的参数更新invalue
列。但是,如果和in之间的组合不存在,我希望它从. 我尝试了一个带有唯一键的重复键语句:,也是一个自动增量值。我尝试了以下查询,但它给了我一个错误:profieltest
parametertest
user
field_id = 2
profieltest
user
field_id
profieltest
parametertest
CREATE UNIQUE INDEX uniqfield ON profieltest (field_id, user)
profieltest.id
1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 't1(t1.user, t1.field_id, t1.value) VALUES(id ,t1.user = t2.user, t1.field_' 行附近使用的正确语法1
INSERT INTO profieltest t1(t1.user, t1.field_id, t1.value)
VALUES( id ,t1.user = t2.user, t1.field_id=2, t1.value=t2.parameter)
SELECT t2.user, t2.parameter
FROM parametertest t2
ON DUPLICATE KEY
UPDATE SET t1.value = t2.parameter
WHERE t1.User = t2.user
AND t1.Field_id = 2
编辑:添加了错误。