alibaba / alibaba/DataX

mysql日期类型default not null 存在0000-00-00无法插入到表结构一样的数据库中

Open
#937 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
17.4k
Forks
5.7k
PR merge metrics
No merged PRs in 30d

Description

11:57:50 - 执行datax任务 - (stdout) com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'active_date' cannot be null
11:57:50 - 执行datax任务 - (stdout) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_151]
11:57:50 - 执行datax任务 - (stdout) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_151]
11:57:50 - 执行datax任务 - (stdout) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_151]
11:57:50 - 执行datax任务 - (stdout) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_151]
11:57:50 - 执行datax任务 - (stdout) at com.mysql.jdbc.Util.handleNewInstance(Util.java:377) ~[mysql-connector-java-5.1.34.jar:5.1.34]
11:57:50 - 执行datax任务 - (stdout) at com.mysql.jdbc.Util.getInstance(Util.java:360) ~[mysql-connector-java-5.1.34.jar:5.1.34]
11:57:50 - 执行datax任务 - (stdout) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:971) ~[mysql-connector-java-5.1.34.jar:5.1.34]
11:57:50 - 执行datax任务 - (stdout) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887) ~[mysql-connector-java-5.1.34.jar:5.1.34]
11:57:50 - 执行datax任务 - (stdout) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823) ~[mysql-connector-java-5.1.34.jar:5.1.34]
11:57:50 - 执行datax任务 - (stdout) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435) ~[mysql-connector-java-5.1.34.jar:5.1.34]
11:57:50 - 执行datax任务 - (stdout) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582) ~[mysql-connector-java-5.1.34.jar:5.1.34]
11:57:50 - 执行datax任务 - (stdout) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2530) ~[mysql-connector-java-5.1.34.jar:5.1.34]
11:57:50 - 执行datax任务 - (stdout) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1907) ~[mysql-connector-java-5.1.34.jar:5.1.34]
11:57:50 - 执行datax任务 - (stdout) at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1199) ~[mysql-connector-java-5.1.34.jar:5.1.34]
11:57:50 - 执行datax任务 - (stdout) at com.alibaba.datax.plugin.rdbms.writer.CommonRdbmsWriter$Task.doOneInsert(CommonRdbmsWriter.java:382) [plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]
11:57:50 - 执行datax任务 - (stdout) at com.alibaba.datax.plugin.rdbms.writer.CommonRdbmsWriter$Task.doBatchInsert(CommonRdbmsWriter.java:362) [plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]
11:57:50 - 执行datax任务 - (stdout) at com.alibaba.datax.plugin.rdbms.writer.CommonRdbmsWriter$Task.startWriteWithConnection(CommonRdbmsWriter.java:297) [plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]
11:57:50 - 执行datax任务 - (stdout) at com.alibaba.datax.plugin.rdbms.writer.CommonRdbmsWriter$Task.startWrite(CommonRdbmsWriter.java:319) [plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]
11:57:50 - 执行datax任务 - (stdout) at com.alibaba.datax.plugin.writer.mysqlwriter.MysqlWriter$Task.startWrite(MysqlWriter.java:78) [mysqlwriter-0.0.1-SNAPSHOT.jar:na]
11:57:50 - 执行datax任务 - (stdout) at com.alibaba.datax.core.taskgroup.runner.WriterRunner.run(WriterRunner.java:56) [datax-core-0.0.1-SNAPSHOT.jar:na]
11:57:50 - 执行datax任务 - (stdout) at java.lang.Thread.run(Thread.java:748) [na:1.8.0_151]
11:57:50 - 执行datax任务 - (stdout) 2021-01-07 11:57:50.430 [0-0-0-writer] ERROR StdoutPluginCollector - 脏数据:

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with plugin-rdbms-util's CommonRdbmsWriter.java around doOneInsert and doBatchInsert, then inspect plugin/writer/mysqlwriter/MysqlWriter.java and reproduce the MySQL schema and active_date failure. The issue does not state the expected handling for 0000-00-00 or null values, so clarify that behavior before defining a regression test and completion criteria.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, mysql
Domain
databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.