MySQLWorkbench里的稀奇事之timestamp的非空默认值

在创建表时,某字段为非空时间戳,timestamp not null 问题来了,使用workbench建表时,如果值非空,是需要有一个默认值的,不然会报错。

那么,如果是更新时自动填充可以使用DEFAULT ON UPDATE CURRENT_TIMESTAMP,而只在INSERT时插入,不更新则使用CURRENT_TIMESTAMP;

问题是,如果不想使用CURRENT_TIMESTAMP怎么办泥?

`end_time` timestamp NOT NULL DEFAULT ‘0000-00-00 00:00:00‘,

这个是用终端的show create table来查看到的语句(偷了个懒,使用了可视工具建表),但是奇怪的问题是,这个语句,CL模式下可以运行的很好,但是在workbench里却无法运行,查了半天也没有找到原因。

ps: 另外,一个表里不可以有多于一处使用CURRENT_TIMESTAMP来作为默认值,这个是MySQL的用法,与workbench无关。

时间: 2024-08-29 15:50:33

MySQLWorkbench里的稀奇事之timestamp的非空默认值的相关文章

MYSQL中TIMESTAMP类型的默认值

MYSQL中TIMESTAMP类型可以设定默认值,就像其他类型一样. 表: —————————————————————————————————————— t1      CREATE TABLE `t1` (                                                                             `p_c` int(11) NOT NULL,                                              

MYSQL中TIMESTAMP类型的默认值理解

MYSQL中TIMESTAMP类型可以设定默认值,就像其他类型一样. 1.自动UPDATE 和INSERT 到当前的时间:表:——————————— Table   Create Table                                                                         —— ————————————————————————————-t1      CREATE TABLE `t1` (                       

hibernate设置mysql的timestamp默认值技巧

首先,要想使用数据库中配置的默认值就必须不让hibernate覆盖了默认值,需要配置property insert="false" update="false",告诉hibernate不对该属性执行insert.update操作,这要就不会覆盖我们在数据库中配置的默认值了.除此之外,我们还需要配置hibernate对该表的操作,dynamic-insert="true" dynamic-update="true", 实现动态的

java 反射: 当Timestamp类型的属性值为null时,设置默认值

import java.beans.PropertyDescriptor; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.sql.Timestamp; class Person { private String name; private int age; private Timestamp birth; public Timestamp getBirth() { return birth

解决:mysql timestamp默认值0000-00-00 00:00:00 报错

一. 问题的引出 我们在用mysql5.7创建表时,如果把timestamp(时间戳)的默认值设置为0000-00-00 00:00:00 的形式,将会产生一条报错: `RepaymentDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '回款日期', 报错信息如下: [Err] 1067 - Invalid default value for 'RepaymentDate' 二. 找出原因 这个问题和mysql中sql

解决:mysql5.7 timestamp默认值0000-00-00 00:00:00 报错

解决:mysql5.7 timestamp默认值0000-00-00 00:00:00 报错 学习了:https://www.cnblogs.com/cnhkzyy/p/9119339.html set session sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; 用mysql dump方式好像可以通过

hibernate 向数据库里设置了默认值的字段添加数据为null时失效的问题

写ssh项目时设置了一个boolean类型的字段,想让他添加的时候默认为1 结果添加的时候不输入数据的话会将null转成0添加 最后再映射hbm文件里的property下设置insert=false 并且设置其非空,默认值生效 <property>元素 insert属性:设置为false,在insert语句中不包含这个字段,表示永远不会被插入 原文地址:https://www.cnblogs.com/King-Jin/p/10961640.html

在四合院里写code是什么体验(非拉仇恨)

我工作的地点在一个幽静的四合院,后海边上.每次出了地铁还要走长长的十分钟的胡同,经过恬静的老人,嬉戏的小孩,还有就是长年不缺的游客.很多次,在夕阳将下未下时五六点的时候,小胡同里老人拿着小马扎,一群小孩在胡同里嬉戏打闹,像极了我们这些80后的童年,有时真感叹在北京城里还藏着这样的景象,看着这一切都让人心态很平和,曾经这是一个让我觉得很安详的写code的场所.的确,我特别喜欢周六无人的四合院,有阳光,有绿萌,有木的屋檐. 看了后你觉得在这样一个场所写code会是怎么一种体验呢? 是一种很平和的心灵

练习3:修改withdraw 方法 练习目标-使用有返回值的方法:在本练习里,将修改withdraw方法以返回一个布尔值来指示交易是否成功。

boolean withdraw(double get){ if(get<=balance) { System.out.println("取钱"+get+"元,当余额为"+balance+"元"); return true; } else { System.out.println("'余额不足"); return false; }