我有一个存储元值的表,但是,我想要执行的插入/更新 - 没有唯一键(甚至不是列的组合)。
1列存储帖子的ID,1表示元值的varchar键,1表示元值...
现在问题是,表 CAN 包含重复的行,很容易发生这种情况:
id_post | key | value
5 'bobber' 4
3 'locer' 2
5 'bobber' 4
现在我要做的是执行插入或重复密钥更新的变体,问题是,我没有触发更新的密钥。
如果表中已存在key
值,我想更新相应的value
列。如果不是,我想插入一个全新的行。
所有我发现最终都会添加一个关键约束,这是我无法做到的事情。
另外,我不想要创建存储过程/函数。
请帮忙吗?谢谢: - )
答案 0 :(得分:-1)
您可以将行id_post更新为主键或唯一键
ALTER TABLE 您的表名 ADD PRIMARY KEY(id_post);