【问题标题】:How to setNull on the MYSQL Database (Date Datatype)如何在 MYSQL 数据库上设置 Null(日期数据类型)
【发布时间】:2015-04-17 05:43:43
【问题描述】:
con = DriverManager.getConnection(Module.url, Module.username, Module.password);
String sql = "Update resume set Start = ? where ID = '" + ID.getText() + "'";
ps = con.prepareStatement(sql);
ps.setNull(1, 0);
ps.executeUpdate();

ps 是 PreparedStatement,字段的数据类型是 DATE。 如何将其设置为 Null 而不是“0000-00-00”。

【问题讨论】:

  • 你能提供你的ddl吗? start 列必须可以为空。
  • dis yo 设置列允许为空 true
  • 创建表 resume (ID int(10) NOT NULL AUTO_INCREMENT, Start date 默认为 NULL,主键 (ID)) ENGINE=MyISAM AUTO_INCREMENT=57 默认字符集=latin1 ;这是我的sql代码
  • 你在找那个吗?

标签: java mysql date prepared-statement


【解决方案1】:

打电话给这个..
ps.setNull(1, java.sql.Types.Date);
其中java.sql.Types.Date 是 SQL 数据类型

【讨论】:

  • 我尝试了您的代码,但它返回到“0000-00-00”。我想要的是(空)。
  • 将参数zeroDateTimeBehavior=convertToNull添加到连接url 这将自动将“零”日期转换为NULL。例如,jdbc:mysql://localhost:3306/dbname?zeroDateTimeBehavior=convertToNull
猜你喜欢
  • 2011-11-12
  • 1970-01-01
  • 1970-01-01
  • 2020-09-06
  • 2020-08-10
  • 1970-01-01
  • 2013-06-06
  • 1970-01-01
  • 2018-12-06
相关资源
最近更新 更多