シリアル主キーを使用してPostgreSQLテーブルに行を挿入しようとしていますが、挿入後にこの列を取得する必要があります。私はこのようなものを手に入れました:
テーブル「pais」には、id、pais、capitalの3つの列があります。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」値はnullです。nexval('table_sequence')を使用して挿入すると、nullも返されます。
テーブルのIDを返す方法はありますか?私は何かが足りないのですか?
前もって感謝します