同学插入时间值于oprTime字段(该字段为dateTime类型),insert失败,无论是加单引号括起时间值还是值换时间格式,都报异常

因为我们很相信标识列能自动为我们插入值,而且异常(在console控制台里)没有说主键怎么了啥的,当然我一看这问题,就检查了字段列数和字段类型有没有问题,确认没有问题,才给时间值做改变,实在无用,只能百度,虽然百度的这条MySql要怎么插入DateTime型的数据?没有解决我的这个问题,但是写后台时时间转码可以看看,后来,另一同学说标识列问题,我们才发现,咱们犯了最基本的问题,我来做个总结先:

我的schemaFlow表的flowid字段设为"标识列"【即,勾选了“自动递增”】(选定表-->右键轻击-->选择"设计表"-->对应表结构和字段类型)

新增时,记得:时间类型的也要单引号括起来

有两种新增方式:

(1)、在Mysql中,标识列,不能直接触发,自动插值,这就与SQLServer有区别,你只能自己插入主键的值了!!!

我插入个“3”,记得要遵守“主键的唯一性”哦!

你看我的表,是不是多了flowID为3的记录!!!

(2)、你也可以这样:在表名后加“(。。对应字段名。。)”,这样也是可以新增数据,

而且主键flowID的值才是标识列自动 上条记录主键值“+1” 赋值

OK,两种方式都新增成功,,,

总结:

要是指定了字段名(若flowid设为"自动递增",指定的字段名可以不包括flowid),【第二种方式】那么标识列自动取下一个值赋给它 否则只能你自己插入主键值【第一种方式】;对于表里字段有20多个的人(其实10个以上字段的插入都会觉得很麻烦)更喜欢直接加个值,反正只是测试

补充:

关于日期格式你必须知道的坑( yyyy-MM-dd HH:mm:ss),码着提醒自己【Oracle里的24制和12制】

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐