我试图向具有序列主键的PostgreSQL表中插入一行,并且需要在插入之后检索此列。我得到了类似这样的东西:
"pais"表有3列:id,pais,capital; id是一个序列列,也是其主键。
NpgsqlCommand query = new NpgsqlCommand("insert into pais(nombre, capital) values(@nombre, @capital)", conn);
query.Parameters.Add(new NpgsqlParameter("nombre", NpgsqlDbType.Varchar));
query.Parameters.Add(new NpgsqlParameter("capital", NpgsqlDbType.Varchar));
query.Prepare();
query.Parameters[0].Value = this.textBox1.Text;
query.Parameters[1].Value = this.textBox2.Text;
Object res = query.ExecuteScalar();
Console.WriteLine(res);
它在表中插入了一行,但“res”值为空。如果使用nexval('table_sequence')插入也会返回null。
有什么想法可以返回表的id吗?我有什么遗漏吗?
提前致谢