mysql新增列添加默认值问题 返回

SqlSugar 沟通中
5 239
该叫什么 铁蛋 发布于2周前
悬赏:0 飞吻

        ///<summary>

        ///是否显示

        ///</summary>

        [SugarColumn(Length = 2, IsNullable = false,DefaultValue = "5", IsOnlyIgnoreInsert = true)]

        public int i_show { get; set; }


对已有数据,都是赋的一个0

image.png

热忱回答5

  • DefaultValue=默认值 用来建表设置字段默认值

    IsOnlyIgnoreInsert=true  插入数据时取默认值

    很多情况需要2个一起使用

    如果只建表不插入数据用1个 

    如果建表并且插入数据用2个


    0 回复
  • @fate sta:我两个都用了,我写的默认值是5 为撒插的是0

    0 回复
  • @fate sta:我试过了, int 型 ,默认值写几都是0, string 没有问题

    0 回复
  • 未重现你的问题,你可以用我的DEMO测试

           

         db.CodeFirst.InitTables<axxxx>();//建表
         db.Insertable(new axxxx() { name="a" }).ExecuteCommand();
         var xxxx= db.Queryable<axxxx>().ToList();


     

            public class axxxx 

            {

                [SugarColumn(IsPrimaryKey =true,IsIdentity =true)]

                public int id { get; set; }


                public string name { get; set; }

                [SugarColumn(Length = 2, IsNullable = false, DefaultValue = "5", IsOnlyIgnoreInsert = true)]


                public int i_show { get; set; }


    0 回复
  • 我的表原来有字段 id,name  两个字段, 已有数据两条  

    id    name

    1      abc

    2      def 

    现在新增一个列  i_show ,我写的默认值为 5,结果就会是下面

    [SugarColumn(Length = 2, IsNullable = false, DefaultValue = "5", IsOnlyIgnoreInsert = true)]


    id    name    i_show

    1      abc         0

    2      def         0


    我的预想结果是要  把原来的两条 数据  i_show 字段变成 5   ,如果是  string 类型的话没有问题

    0 回复