我正在使用c#和MySQL处理Windows应用程序。 我通过将文本文件读入MySQL数据库插入新记录,数据库没有主键但是四列的组合我们可以将其视为主键的组件(但实际上数据库没有主键)。 我知道如何使用DataAdapter和DataSet添加和更新记录。但我无法更新没有主键的数据库中的记录。
请您指导我,如何使用没有主键的数据库更新数据库中的记录。
感谢。
答案 0 :(得分:1)
假设你有下一张桌子:
column1,
column2,
..
columnN,
target -- column to update
然后使用:
UPDATE table
SET
target = @target
WHERE
column1 = @va1, column2 = @val, -- etc specify all columns in table
如果您有重复(绝对相等)的记录,您将更新所有记录。
答案 1 :(得分:1)
为了使用数据集,您需要定义更新命令“By-Hand”。
您需要设置正确的DataAdapter.UpdateCommand
。
在我看来,将一个主键列添加到表中是一种更好的方法。