我需要这样更新数据库:
NpgsqlCommand cmd = new NpgsqlCommand (INSERT into Table (Col) VALUES (@value);
Cmd.Parameters.AddWithValue("value", "''" + "''");
Cmd.ExecuteNonQuery();
当我在查询编辑器上运行它时,它可以正常工作,同样,我将查询保存在.sql文件中并导入以执行。
但是如果文件具有多个状态,例如:
UPDATE my_table
SET columnb='01001'
WHERE columnb IN ('lraXh7QFkB2','fhh1ZmczNeXA', 'H1M1aL1kL','5-RNsXxrE8DeQ2' )
我收到此错误:
UPDATE my_table
SET columnb='01001'
WHERE columnb IN ('lraXh7QFkB2','fhh1ZmczNeXA', 'H1M1aL1kL','5-RNsXxrE8DeQ2' )
UPDATE my_table
SET columnb='021001'
WHERE columnb IN ('lraXh7QFkB2','fhh1ZmczNeXA', 'H1M1aL1kL','5-RNsXxrE8DeQ2' )
UPDATE my_table
SET columnb='010031'
WHERE columnb IN ('lraXh7QFkB2','fhh1ZmczNeXA', 'H1M1aL1kL','5-RNsXxrE8DeQ2' )
在第一种情况下刚更新后出现在第四行的
答案 0 :(得分:1)
每个更新语句的末尾没有分号
UPDATE my_table
SET columnb='01001'
WHERE columnb IN ('lraXh7QFkB2','fhh1ZmczNeXA', 'H1M1aL1kL','5-RNsXxrE8DeQ2' );
UPDATE my_table
SET columnb='021001'
WHERE columnb IN ('lraXh7QFkB2','fhh1ZmczNeXA', 'H1M1aL1kL','5-RNsXxrE8DeQ2' );
UPDATE my_table
SET columnb='010031'
WHERE columnb IN ('lraXh7QFkB2','fhh1ZmczNeXA', 'H1M1aL1kL','5-RNsXxrE8DeQ2' );