mysql数据库的test类型
文章参考自
window系统参考:http://blog.sina.com.cn/s/blog_46f7bb6d0102vde3.html
linux 参考:http://www.linuxeye.com/database/2909.html
背景
公司的数据库规范是,每个字段必须not null 且 必须有默认值
问题
设置为test类型后,字段不能设置默认值
解决(不建议取消)
取消数据库的严格模式
*********windows下**********
1、 找到mysql安装根目录下的my.ini文件
2、 找到这样一行:
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
3、 在其前面加‘#’将其注释掉:
#sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
4、 重启mysql服务
5、 重新执行你的mysql语句
*************linux下*************
方法一、
1)修改my.cnf1、设置启动参数,将默认sql_mode改为宽松模式使用命令:
echo "sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" >> /etc/my.cnf
service mysqld restart
方法二、修改启动脚本
1)设置启动脚本参数 使用命令:
sed -i "s#\"\$\*\"#--sql-mode=\"NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION\"#" /etc/init.d/mysqld
或手动修改: vi /etc/init.d/mysqld 找到 other_args="$*"
改成 other_args="--sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
service mysqld restart
原因
1、 MYSQL5.x是不允许BLOB/TEXT类型的字段拥有默认值的。
2、 由于MYSQL是在‘strict mode’严格模式下工作的,如果改为非严格模式,即可
3、 MYSQL5.x在windows下是默认以‘strict mode’工作的,当执行上面的语句时,会给你一个错误或者警告信息
但是严格模式为什么不能设置默认值的真正原因还不知道
拓展
1、何为严格模式 http://koda.iteye.com/blog/288882
I. Strict Mode阐述
根据 mysql5.0以上版本 strict mode (STRICT_TRANS_TABLES) 的限制:
1).不支持对not null字段插入null值
2).不支持对自增长字段插入''值,可插入null值
3).不支持 text 字段有默认值
mysql数据库的test类型的更多相关文章
- Mysql 数据库date, datetime类型设置0000-00-00默认值(default)报错问题
Mysql 数据库date, datetime类型设置0000-00-00默认值报错问题 现象:MySQL5.7版本之后,date, datetime类型设置默认值"0000-00-00&q ...
- java的Date类型转换为MySQL数据库的Date类型
最近遇到一个问题,需要把java中的日期类型存放为MySQL数据库的日期类型,两个日期之间需要进行转化才能进行存储,转化代码如下: package com.alphajuns.demo1; impor ...
- MySQL数据库中tinyint类型字段读取数据为true和false
今天遇到这么一个问题,公司最近在做一个活动,然后数据库需要建表,其中有个字段是关于奖励发放的状态的字段,结果读取出来的值为true 一.解决读取数据为true/false的问题 场景: 字段:stat ...
- MySQL数据库中tinyint类型字段读取数据为true和false (MySQL的boolean和tinyint(1))
数据库一个表中有一个tinyint类型的字段,值为0或者1,如果取出来的话,0会变成false,1会变成true. MySQL保存boolean值时用1代表TRUE,0代表FALSE.boolean在 ...
- MySQL数据库中字段类型为tinyint,读取出来为true/false的问题
由于MySQL中没有boolean类型,所以会用到tinyint类型来表示. 数据库一个表中有一个tinyint类型的字段,值为0或者1,如果取出来的话,0会变成false,1会变成true.
- 解决mysql 数据库中日期类型00:00:00 的问题 设置xml数据类型:java.util.Date
解决方法是 设置xml里面字段的类型为:java.util.Date.加红部分. 1. beanl里面private Date ulLoginDate; 2.hibernate的xml里面是 < ...
- Mysql数据库表的类型有哪些
截至目前,MySQL一共向用户提供了包括DBD.HEAP.ISAM.MERGE.MyIASM.InnoDB以及Gemeni这7种Mysql表类型.其中DBD.InnoDB属于事务安全类表,而其他属于事 ...
- MySQL 数据库几种类型
关系数据库(MySQL.Oracle.SQL Server.DB2.Postgres)键-值存储数据库(Riak和Redis)面向列的数据库(HBase) 面向文档的数据库(MongoDB 和Couc ...
- mysql数据库设计字符类型及长度
1.数字类型 小数的我就不聊了,因为有小数点的一般都是用字符串保存.关于整数,有几种可以选TINYINT.SMALLINT.MEDIUMINT.INT和BIGINT,分别占1.2.4.8字节.如果无符 ...
随机推荐
- c# 导出表格
var record = m_editor.getMasterRecord(); var Check_Id = record.Check_Id; var url = "/Storage/St ...
- 【读书笔记】iOS-解析JSON
JSON相比XML最显著的优点是不需要使用重量级的解析库,因为其本身就是面向数据的,而且非常容易转换成哈希字典.除此之外,JSON文档相比同样的XML文档更小.在网络宽带有限的情况下,你很容易在Iph ...
- Jenkins 利用Dashboard View插件管理任务视图
利用Dashboard View插件管理任务视图 by:授客 QQ:1033553122 步骤 1. 安装Dashboard View插件 说明: 如果无法在线安装,可以选择本地上传方式安装 附 ...
- JavaScript按纯数字排序
直接上代码: var arr=[ {name:"张散步",age:"23",sports:"篮球",number:"23112 ...
- linux(乌班图)修改apt下载源
有时候会出现乌班图系统刚安装,无法使用apt下载安装软件工具,此时需要修改apt下载源. 1.进入/etc/apt/目录下 2.备份sources.list文件(如果不在root用户下,需在前面加s ...
- (其他)最常用的15大Eclipse开发快捷键技巧
转自CSDNJava我人生(陈磊兴) 原文出处 引言 做java开发的,经常会用Eclipse或者MyEclise集成开发环境,一些实用的Eclipse快捷键和使用技巧,可以在平常开发中节约出很多 ...
- flask中的url_for的使用
有多个路由的程序需要连接不同的网页链接,例如导航条 模板中构建正确的动态url较为困难,如果重定义路由,模板中的链接失效 url_for()函数: 使用url映射中保存的信息生成url 用法: 用视图 ...
- 心迹 使用说明&功能展示
下载地址 心迹.apk 更新于2018.8.9 11:47 测试账号:用户名testing,密码testing 项目地址 GitHub 注册&登录 第一次使用心迹app时,必须进行注册,以便区 ...
- Python 文档学习
1.在命令行执行Python脚本(获取输入) import sys print(sys.argv[1]) 2.compile Python(编译Python) 编译后,生成的文件是.pyc,但是要知道 ...
- python自动化报告的输出
1.设计简单的用例 2.设计用例 以TestBaiduLinks.py命名 # coding:utf-8 from selenium import webdriver import unittest ...