需求:造数据

按一定规则去新建一万条数据,例如:id随着 顺序增长,即 第一条数据的id为1,最后一条的id为一万

先运行上面一段,新建存储过程 ,再执行call方法,一万条数据正在创建

DELIMITER $$
DROP PROCEDURE
IF EXISTS `proc_auto_insertdata`$$

CREATE PROCEDURE `proc_auto_insertdata` ()
BEGIN
	DECLARE
		init_data INTEGER DEFAULT 1 ;
	WHILE init_data <= 10000 DO
		INSERT INTO `info`
	VALUES
		(
			NULL,
			'71',
			12 + init_data,
			'1',
			'220',
			'2019-07-04 11:13:21',
			'1',
			NULL,
			'1',
			'5',
			'0',
			NULL,
			NULL,
			NULL,
			NULL,
			NULL,
			'1',
			'2019-07-04',
			NULL,
			NULL,
			NULL,
			'0'
		) ;
	SET init_data = init_data + 1 ;
	END
	WHILE ; END$$
DELIMITER ;


CALL proc_auto_insertdata ();

一万数据正在向你奔来

 

//北京时间东八区
serverTimezone=GMT%2B8
&zeroDateTimeBehavior=convertToNull

JAVA连接MySQL数据库,在操作值为0的timestamp类型
时不能正确的处理,而是默认抛出一个异常,就是所见的:
java.sql.SQLException: Cannot convert value '0000-00-00 00:00:00' from column 7 to TIMESTAMP

JDBC连接Mysql6 com.mysql.cj.jdbc.Driver, 需要指定时区serverTimezone:

com.mysql.jdbc.Driver 是 mysql-connector-java 5中的,
com.mysql.cj.jdbc.Driver 是 mysql-connector-java 6中的