PostgreSQL对表名、字段名都是区分大小写的。在图形化界面可以正常新建。
为了兼容其他的数据库程序代码的编写,推荐使用小写加_的方式,例如:employees_post
表明或者字段名包含大写字母,示例:
CREATE TABLE public."Test" ( "Id" character varying(16) ) WITH ( OIDS = FALSE ) ;
当.net 使用npgsql连接PostgreSQL数据库的时候
using (NpgsqlConnection conn = new NpgsqlConnection("Server=localhost;Port=5432;User Id=postgres;Password=postgres;Database=jdsun;SSL=False;Pooling=True;CommandTimeout=30;")) { using (NpgsqlCommand cmd = new NpgsqlCommand()) { StringBuilder sbzzm = new StringBuilder(); sbzzm.Append("INSERT INTO "Test"("); sbzzm.Append(""ID")"); //这里必须使用"否则会返回找不到字段的错误 sbzzm.Append(" VALUES(@ID)"); NpgsqlParameter param = new NpgsqlParameter("@ID",NpgsqlTypes.NpgsqlDbType.Varchar,16); param.Value = "测试"; if (conn.State != ConnectionState.Open) conn.Open(); cmd.Connection = conn; cmd.CommandText = sbzzm.ToString(); cmd.CommandType = CommandType.Text; cmd.Parameters.Add(param); int val = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); } }
都是小写字母
CREATE TABLE public.test ( id character varying(16) ) WITH ( OIDS = FALSE ) ;
参照上面的代码,去掉"即可。 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|