
注:可以使用mybatis的动态sql解决该bug
1、首先新建一个学生表:student,需求:字段password的默认值是1213142。
2、如果正常插入值,需要手动添加密码,但是如果有大量的字段可以使用默认值,那么语句会显得有点臃肿。
3、现在我们设置字段password默认值,如图所示,实际上是创建了一个约束,所以图中的 df_pwd_stu 表示的是约束的名称,这时我们自定义的。
4、再次插入,这时可以忽略我们已经设置默认值字段的值了,因为插入的时候回数据库会帮我们插入默认值。完成效果图。
会。
数据库中字段设置的默认值和插入的结果不一致,怎么办?
解决方案1、insert的sql语句贴出来;
解决方案2、先看看你的添加代码是不是有问题,怎么写的;
解决方案3、
我做插入不是直接用sql插的,而是运用EntityFramework代码如下:
using(TestEntitiescontext=newTestEntities())
{varperson=context.CreateObject<PersonsEFEntity>
()person.FirstName="w"person.LastName="m"person.Address="闵行宜山路"person.City="上
海"context.PersonsEFEntitySet.AddObject(person)context.SaveChanges()}
以上代码中我没有给person.isStudent赋值
解决方案5、person.isStudent不赋值就是默认为0;
解决方案7、
数据库脚本:SETQUOTED_IDENTIFIERONGOCREATETABLE[dbo].[Persons]([Id][int]IDENTITY(1,1)NOTNULL,[FirstName][nvarchar](50)NULL,[LastName][nvarchar](50)NULL,[Address][nvarchar](50)NULL,[City][nvarchar](50)NULL,[isStudent][bit]NOTNULL,CONSTRAINT[PK_Persons]PRIMARYKEYCLUSTERED([Id]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]GOALTERTABLE[dbo].[Persons]ADDCONSTRAINT[Persons_isStudent]DEFAULT((1))FOR[isStudent]GO默认值是1。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)