Field 'id' doesn't have a default value问题解决方法


突然想温习温习对数据库的读写。于是就用mysql建了一张单独的表(见代码1),用Hibernate写了个应用,能够正常查询、改动数据了。

開始时。数据是在mysql的GUI工具里手工输入的,嫌烦,于是就想到用程序批量生成一些,于是麻烦也跟着来了……

代码1
  1. CREATE TABLE  `stitp`.`Ticket` (
  2. `id` int(11) NOT NULL,
  3. `state` tinyint(1) NOT NULL,
  4. `grade` int(2) NOT NULL,
  5. PRIMARY KEY  (`id`)
  6. ) ENGINE=InnoDB DEFAULT CHARSET=gbk
  执行插入数据的java代码,报异常:field ‘id' doesn't have a default value没错啊。我的主键怎么可能有默认值呢?不理解。谷歌了一下这个异常。一大坨结果,总结一下就是那么两种方法: 解决方法一:
打开my.ini。查找
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
改动为
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
然后重新启动MYSQL 解决方法二:
MySQL 5 uses a strict mode which needs to be disabled.
In Windows, Goto Start-->Programs-->MySQL->MySQL Instance Config Wizard. Follow through the Reconfigure Instance option-->Detailed Configuration-->Continue Next a few screens. At the bottom under Enable TCP/IP option there is 'Enable Strict Mode'. Deslect this option (no tick). Save changes and MySQL will restart. 都试了。没用,并且我是Fedora,没有ini文件。而是cnf文件(我的my.cnf在/etc以下) 这个keyword看来是找不到办法了,换成查找hibernate里对主键的设置吧。 果然就找到了办法!原来是.hbm.xml文件的设置问题。在里面把主键的属性改为:
  1. <generator class="assigned"/>
  再执行就能够了。由于assigned是指主键是由人工分配的。而native则指主键值由库自己主动给出。我曾经都是想都没想就加上native的,反正也不知道什么意思,并且曾经用到要插入数据的表,主键都是“auto increment”的,所以也没碰到问题。这次就暴露了。 总结一下:事实上就是缺乏对Hibernate的全面理解,没有全然掌握它的各种设置。由于当初学hibernate也是抱着"需求"学的,而不是正儿八经学习它的,没有全然理解各种设置就上手了。



Field &#39;id&#39; doesn&#39;t have a default value问题解决方法的更多相关文章

  1. Mysql Field * doesn't have a default value解决方法

    Mysql Field * doesn't have a default value解决方法 MySQL 5中,出现错误提示: Field 'id' doesn't have a default va ...

  2. java.sql.SQLException: Field 'login_date' doesn't have a default value解决方法

    在做web项目的insert插入操作的时候, 由于对于一个字段没有插入数据, xml文件写法如下: <insert id="savePremissUser" > ins ...

  3. ADF控件ID变化引发JS无法定位控件的解决方法

    原文地址:ADF控件ID变化引发JS无法定位控件的解决方法作者:Nicholas JSFF定义的控件ID到了客户端时往往会改变.例如在JSFF中的一个的ID为"ot1",但是当这个 ...

  4. 六.OC基础--1. id和instancetype类型,2.动态类型检测,3.响应方法,构造方法,4.重写构造方法,5.自定义构造方法

    1. id和instancetype类型, id和instancetype类型区别: 1. id和instancetype都可以用来作为方法的返回值 2. id可以用来定义类型,instancetyp ...

  5. 阿里OSS Vue上传文件提示The OSS Access Key Id you provided does not exist in our records.解决方法

    vue项目 1.安装OSS的Node SDK npm install ali-oss --save 2.参考官方提示https://help.aliyun.com/document_detail/11 ...

  6. 阿里云oss上传图片报错,The OSS Access Key Id you provided does not exist in our records.解决方法

    vue项目 1.安装OSS的Node SDK npm install ali-oss --save 2.参考官方提示https://help.aliyun.com/document_detail/11 ...

  7. 解决Incorrect integer value: &#39;&#39; for column &#39;id&#39; at row 1的方法

    在使用Navicat for MySQL还原数据库备份时.出现Incorrect integer value: '' for column 'id' at row 1的错误; 网上查资料发现5以上的版 ...

  8. 【Bug Fix】Error : Can&#39;t create table &#39;moshop_1.#sql-534_185&#39; (errno: 150)

    运行alter操作, alter table xx_shop_info add index FK9050F5D83304CDDC (shop_area), add constraint FK9050F ...

  9. [生产环境数据恢复]innobackupex: fatal error: OR no &#39;datadir&#39; option in group &#39;mysqld&#39; in MySQL options

    1 运行恢复命令  [xxx@xxx-c001db1 tmp]$ time /usr/bin/innobackupex --rsync --user="user" --passwo ...

随机推荐

  1. 【并查集】BZOJ1370- [Baltic2003]Gang团伙

    [题目大意] 在某城市里住着n个人,任何两个认识的人不是朋友就是敌人,而且满足: 1. 我朋友的朋友是我的朋友: 2. 我敌人的敌人是我的朋友: 所有是朋友的人组成一个团伙.告诉你关于这n个人的m条信 ...

  2. mssql Row_Number() 分页 DISTINCT 问题

    转载原文地址http://www.cnblogs.com/pumaboyd/archive/2008/04/20/1162376.html 这周碰到了很多奇怪的问题,有些是莫名的低级错误,有些这是一直 ...

  3. Centos7安装配置tomcat 9并设置自动启动

    原文:https://blog.csdn.net/stinkstone/article/details/78082725 1.官网下载安装包 这里选择适合Linux的安装包,下载到本地后上传到cent ...

  4. [翻译] YLGIFImage 高效读取GIF图片

    YLGIFImage 高效读取GIF图片 https://github.com/liyong03/YLGIFImage Asynchronized GIF image class and Image ...

  5. dwz关闭当前dialog

    首先,前台代码如下: <form method="post" class="pageForm required-validate" onsubmit=&q ...

  6. Django文档学习

    文档位置:https://docs.djangoproject.com/zh-hans/2.1/

  7. IDE的文件和代码模板

    设置IDE的的模板,可以在创建文件的时候,自动产生模板内容,模板里可以 模板头设置: # -*- coding: utf- -*- """ --------------- ...

  8. [置顶] Eclipse显示中文 在线安装教程

    准备工作: 1,一个完整的Eclipse软件: 2,加载软件地址:http://download.eclipse.org/technology/babel/update-site/R0.11.0/ke ...

  9. java学习笔记13--反射机制与动态代理

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note13.html,转载请注明源地址. Java的反射机制 在Java运行时环境中,对于任意 ...

  10. python 相似语句匹配(非机器学习)

    #coding=utf-8 import xlrd import distance from sklearn.feature_extraction.text import CountVectorize ...