最近在用mybatis时发现,将LocalDateTime插入到数据库时时间少了8小时。 用网上其他方法试了不少,比如修改mysql时区,都不能解决。最后发现是JDBC连接的参数写错了。...这就是为什么时间插入数据库后少了8小时的原因。那么中国的时区是多少呢?.../Guadalcanal VST - Asia/Ho_Chi_Minh 可以看到CTT - Asia/Shanghai,所以我们在jdbc的连接里使用&serverTimezone=CTT就可以正确的插入时间了
mySQL插入数据自动生成时间 使用navcat for mysql工具创建数据库时,如果需要设置一个时间字段,并且在插入数据时让这个时间是自动生成。...可以参考下面方法: 1、在表中time字段是需要在添加新数据的时候,自动生成时间。可以将字段设置为获取当前时间戳,然后在默认值处写上CURRENT_TIMESTAMP。
insert values:优点:可以批量插入;缺点:单条执行效率低。...插入> insert into table(col1,col2,col3) values('val1','val2','val3'); insert set:优点:执行效率高;缺点:每次只能插入一条数据...插入> insert into table set col1='val1',col2='val2',col3='val3'; ?
问题: 使用SpringBoot框架插入时间时,发现时间减少了14个小时,通过日志输出发现错误并不在sql语句,也就是我的插入的时间并没有错,疑惑的是到数据库表里就时间不对劲了。...解决: 几乎锁定就是时区的问题,检查了MySQL的时区并没有问题,但是网上的教程几乎都是去修改MySQL时区,我觉得很难令我信服,自己摸索了一会。...想到MySQL5.7之后需要在连接上加入时区,原来就是那个地方我为了方便连接直接乱写了一个时区导致的。...更改准确的url连接即可,注意连接最后的Timezone jdbc:mysql://localhost:3306/mybatis_plus?
知识这个东西,看来真的要温故而知新,一直不用,都要忘记了 业务很简单:需要批量插入一些数据,数据来源可能是其他数据库的表,也可能是一个外部excel的导入 那么问题来了,是不是每次插入之前都要查一遍...向大数据数据库中插入值时,还要判断插入是否重复,然后插入。如何提高效率 看来这个问题不止我一个人苦恼过。...user (name) SELECT 'telami' FROM dual WHERE NOT EXISTS (SELECT id FROM user WHERE id = 1) 这种方法其实就是使用了mysql...再插入新记录。 REPLACE INTO user SELECT 1, 'telami' FROM books 这种方法就是不管原来有没有相同的记录,都会先删除掉然后再插入。...这样在批量插入时,如果存在手机号相同的话,是不会再插入了的。 来源:www.telami.cn
" allocate_time = VALUES(allocate_time)") int testA(DispatchInfoUpdateDto dispatchInfoUpdateDto); 插入结果...编辑 更新时间,大于allocate_time 10几个个小时左右。...问题原因 首先登录服务器,查询服务器时区 date -R 命令 编辑 服务器时区就是+0800 就是Asia/Shanghai 之后登录 数据库,查询当前数据库的时区。 ...编辑 这个CST 居然能够表示四种时区,分别为: 1.美国中部时间 Central Standard Time (USA) UTC-06:00 2.澳大利亚中部时间 Central Standard Time...就是在数据库连接上加入: serverTimezone=Asia/Shanghai,例子如下: url : jdbc:mysql://XXXX:3306/XXdatabase?
实现方案 基于MySQL数据库,实现方案有如下4种 replace into 使用最简单,推荐 on duplicate key update 可以根据业务需要,当数据重复时,指定更新的内容。...否则,直接插入新数据。...MySQL replace into 有三种形式: replace into tbl_name(col_name, …) values(…) replace into tbl_name(col_name...另外,对于那些没有给予值的列,MySQL 将自动为这些列赋上默认值。...2.2. on duplicate key update 先执行insert语句,当出现primary或者unique冲突时执行update语句,update语句则是需要更新的内容:使用新值替换数据库中的值
来看一段代码吧 建立一个数据库excel和一个study表 建立表代码如下: CREATE TABLE `excel` ( `id` int(11) NOT NULL auto_increment...(‘localhost’, ‘root’, ‘joyous’) or die(“数据库连接出错了。。。。”)...; //连接数据库 mysql_query(“set names ‘utf8′”);//设置编码输出 mysql_select_db(‘study’); //选择数据库 for ($i =...’; $insert = mysql_query($sql); //插入部分 注释掉,实际可以自己插入。...} $sql=”select * from excel”; $mysql=mysql_query($sql); while($info=mysql_fetch_array($mysql)) {
但是有时要插入当前时间不知道有没快捷键?...一切本着快捷的原则,查看了一下菜单栏,编辑-插入,还真有editplus插入当前时间的快捷键:Ctrl+D,类似2013-12-09这种的 其他时间格式快捷键,好吧以后就方便多了 Ctrl+Alt+D:...2013年12月09日(长格式日期) Ctrl+M:17:13(时间) Ctrl+shift+M:17:13:09(长格式时间) 如果你是习惯用excel操作,那就参考一下这篇文章excel插入当前时间快捷键
业务很简单:需要批量插入一些数据,数据来源可能是其他数据库的表,也可能是一个外部excel的导入 那么问题来了,是不是每次插入之前都要查一遍,看看重不重复,在代码里筛选一下数据,重复的就过滤掉呢?...向大数据数据库中插入值时,还要判断插入是否重复,然后插入。如何提高效率 看来这个问题不止我一个人苦恼过。...user (name) SELECT 'telami' FROM dual WHERE NOT EXISTS (SELECT id FROM user WHERE id = 1) 这种方法其实就是使用了mysql...这样在批量插入时,如果存在手机号相同的话,是不会再插入了的。...来源:http://www.telami.cn/2018/when-mysql-batch-inserts-and-how-to-not-insert-duplicate-data/
业务很简单:需要批量插入一些数据,数据来源可能是其他数据库的表,也可能是一个外部excel的导入 那么问题来了,是不是每次插入之前都要查一遍,看看重不重复,在代码里筛选一下数据,重复的就过滤掉呢?...向大数据数据库中插入值时,还要判断插入是否重复,然后插入。如何提高效率 看来这个问题不止我一个人苦恼过。...user (name) SELECT 'telami' FROM dual WHERE NOT EXISTS (SELECT id FROM user WHERE id = 1) 这种方法其实就是使用了mysql...再插入新记录。 REPLACE INTO user SELECT 1, 'telami' FROM books 这种方法就是不管原来有没有相同的记录,都会先删除掉然后再插入。...这样在批量插入时,如果存在手机号相同的话,是不会再插入了的。
来源:http://www.telami.cn/2018/when-mysql-batch-inserts-and-how-to-not-insert-duplicate-data/ 温故而知新 业务很简单...:需要批量插入一些数据,数据来源可能是其他数据库的表,也可能是一个外部excel的导入 那么问题来了,是不是每次插入之前都要查一遍,看看重不重复,在代码里筛选一下数据,重复的就过滤掉呢?...向大数据数据库中插入值时,还要判断插入是否重复,然后插入。如何提高效率 看来这个问题不止我一个人苦恼过。...user (name) SELECT 'telami' FROM dual WHERE NOT EXISTS (SELECT id FROM user WHERE id = 1) 这种方法其实就是使用了mysql...这样在批量插入时,如果存在手机号相同的话,是不会再插入了的。
HttpServlet 实现 MySQL 数据库的插入操作 ---- MySQL 数据库及表的创建过程,请参考前文《MySQL 数据库及数据表的创建》。...本文重点来分步进行 HttpServlet 中,MySQL 数据库的插入操作实现。 实现步骤 1....:MySQL 数据库创建完成后,本地地址默认都是:jdbc:mysql://localhost:3306。...加载数据库 Class.forName("com.mysql.cj.jdbc.Driver"); 这里注意,com.mysql.jdbc.Driver 已弃用。 3....插入数据库 // 读请求参数 String parName = request.getParameter("name"); String age = request.getParameter("age"
最近 MySQL 数据库经常报错 Duplicate key 的错误,虽然我已经在 Insert 之前使用 query 进行了判断,如果已有则更新,但是还是经常会报这个错误,经过一段查询资料,发现 MySQL...已经提供了两种解决方法: ON DUPLICATE KEY UPDATE 这个方法就是在 Insert 语句的时候,加上这个语句,如果数据库里面已有则更新。...部分引用列值: INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6) ON DUPLICATE KEY UPDATE c=VALUES(a)+VALUES(b); 插入多行情况...(1,2,3),(4,5,6) ON DUPLICATE KEY UPDATE c=VALUES(a)+VALUES(b); REPLACE INTO REPLACE INTO 则会先删除数据,然后再插入
即任务既负责读文件、又负责插入数据库。 如何保证任务的可靠性 如果读取任务进行到一半,宕机或者服务发布如何处理呢?...所以也无需数据库自增主键ID,可以在批量插入时指定主键ID。 如果另一个任务也需要导入数据库呢?如何实现主键ID隔离,所以主键ID还是需要拼接taskId。...如何协调读取任务的并发度 前面提到了为了避免单个库插入表的并发度过高,影响数据库性能。可以考虑限制并发度。如何做到呢? 既然读取任务和写入任务合并一起。那么就需要同时限制读取任务。...10亿条数据插入数据库的时间影响因素非常多。包括数据库磁盘类型、性能。数据库分库数量如果能切分1000个库当然性能更快,要根据线上实际情况决策分库和分表数量,这极大程度决定了写入的速率。...MySQL innodb、myisam 存储引擎对写入性能支持不同,也要在线上对比验证 数据库批量插入的最佳阈值需要反复测试得出。
如果希望向 H2 中插入时间,你可以使用下面的方法插入: ('CWIKIUS.CN', 'client-name-01.csv', '65', 'NEW','2020-10-22 12:47:52.690...如果你希望插入字符串定义的时间。...你需要的格式: '2020-10-22 12:47:52.690' 如果你希望插入当前的时间,你可以用时间函数 CURRENT_TIMESTAMP() 上面的时间函数,将会向数据库表中插入当前的时间。
insert shop_goods(gname,price,pic) values(‘apple1’,‘4881’,‘3.jpg’); insert shop...
对于mysql数据库的乱码问题,有两中情况: 1. mysql数据库编码问题(建库时设定)。 2. 连接mysql数据库的url编码设置问题。...我试过修改现有数据库字符集为UFT -8,但是根本不起作用,插入的中文仍然乱码(中文显示成:???)。重建库时选择字符集为UTF-8之后,中文正常显示了。...对于第二个问题,是这样的情况:我建库时设置了数据库默认字符集为UTF-8,通过mysql workbench直接插入中文显示完全正常。但是使用mybaits插入数据时,中文显示成了”???”...但从数据库获取的中文不会乱码。跟踪数据库操作,SQL语句中的中文还是显示正常的,但是插入到mysql数据库后就乱码了,于是判断可能是数据库连接的问题。...后来在网上找了下资料,发现确实可以为mysql数据库的连接字符串设置编码方式,如下: jdbc:mysql://127.0.0.1:3306/test?
获得当前日期+时间(date + time)函数: select now(); select current_timestamp(); select localtime(); select localtimestamp...(); select sysdate(); 设置默认当前时间: CURRENT_TIMESTAMP 获得当前日期(date)函数: curdate() = current_date() 获得当前时间...(time)函数: curtime() = current_time() 获得当前 UTC 日期时间函数: utc_date(), utc_time(), utc_timestamp()
业务很简单:需要批量插入一些数据,数据来源可能是其他数据库的表,也可能是一个外部excel的导入。 那么问题来了,是不是每次插入之前都要查一遍,看看重不重复,在代码里筛选一下数据,重复的就过滤掉呢?...向大数据数据库中插入值时,还要判断插入是否重复,然后插入。 如何提高效率? 看来这个问题不止我一个人苦恼过。...user (name) SELECT 'telami' FROM dual WHERE NOT EXISTS (SELECT id FROM user WHERE id = 1) 这种方法其实就是使用了MySQL...再插入新记录。欢迎关注我们,公号终码一生。...这样在批量插入时,如果存在手机号相同的话,是不会再插入了的。 —END—
领取专属 10元无门槛券
手把手带您无忧上云