[英]Npgsql.PostgresException: '55000: currval of sequence “student_folio_id_seq” is not yet defined in this session'
我是C#語法的新手,當用戶單擊“插入”按鈕時,嘗試將數據插入到兩個不同的表中。 同時,第二個插入語句需要獲取第一個插入語句ID作為外鍵。 主鍵ID是自動遞增。
此sql在PHP中有效,但在C#中似乎不起作用,並且我收到此拋出錯誤消息Npgsql.PostgresException:'55000:在此會話中尚未定義序列“ student_folio_id_seq”的當前時間”。
C#Postgres db的任何專家都可以給我一些語法錯誤的建議嗎? 而且如果可以舉例說明就很好。
這是我的代碼:
connection.Open();
NpgsqlCommand cmd = new NpgsqlCommand();
cmd.Connection = connection;
cmd.CommandText = "INSERT INTO student_folio
(f_name,l_name,ic,dob,gender,remark)VALUES(@f_name,
@l_name,@ic,@dob,@gender,@remark) RETURNING id";
cmd.CommandText = "INSERT INTO contact (s_id, address)VALUES((SELECT
currval(pg_get_serial_sequence('student_folio', 'id'))),@address) ";
cmd.CommandType = CommandType.Text;
似乎您正在嘗試重新分配具有新dml值的cmd.CommandText。 嘗試這個。
connection.Open();
NpgsqlCommand cmd = new NpgsqlCommand();
cmd.Connection = connection;
cmd.CommandText = "INSERT INTO student_folio (f_name,l_name,ic,dob,gender,remark)VALUES(@f_name, @l_name,@ic,@dob,@gender,@remark) RETURNING id; " +
"INSERT INTO contact (s_id, address)VALUES((SELECT currval(pg_get_serial_sequence('student_folio', 'id'))),@address);";
cmd.CommandType = CommandType.Text;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.