【问题标题】:Default Value for Date in SQLSQL 中日期的默认值
【发布时间】:2012-10-04 06:08:38
【问题描述】:

如果我没有得到 created_date 的值,它会抛出 mysql 错误。 如何解决这个问题呢?

var query1 = "INSERT INTO prospect_group(
    group_name,status_id,created_date,  
    is_eligible,mom_active_fromdt,
    mom_is_savings_discussed,
    is_full_attendence,is_internal_loan) VALUES
    ('"+groupNameArray[0]+"', '"
       +groupNameArray[14]+"', '"
       +groupNameArray[1]+"', '"
       +groupNameArray[15]+"','"
       +groupNameArray[7]+"','"
       +groupNameArray[8]+"','"
       +groupNameArray[9]+"','"
       +groupNameArray[10]+"'  )";

【问题讨论】:

  • @xdazz 请还原您的编辑或使其更好。原始版本比当前版本更具可读性。
  • 嗨,我相信这里已经回答了 - stackoverflow.com/questions/168736/…
  • 您的意思是 groupNameArray[1] 为空吗?如果是这样,你想插入什么?

标签: mysql


【解决方案1】:

created_date字段默认值设置为Null

在 JDBC 连接中使用zeroDateTimeBehavior=convertToNull

示例:

jdbc:mysql://192.168.6.1/test?zeroDateTimeBehavior=convertToNull

参考: handling DATETIME values 0000-00-00 00:00:00 in JDBC

【讨论】:

    【解决方案2】:

    您可以使用 SYSDATE() 或 NOW()

    【讨论】:

      【解决方案3】:

      类似这样的(设置 created_date 字段的默认值): MySQL timestamp only on create

      【讨论】:

      • 实际上我无法提供默认值。我正在使用应用程序,因此需要一些可靠的数据。
      【解决方案4】:

      如果您可以将 created_date 列的 NULL 设置默认值添加为 NULL,并确保在插入表时您将拥有 date 或 null。

      【讨论】:

      • 我有类似的问题,通过将默认值分配给 null 它解决了。尝试执行查询>> ALTER TABLE cp_users CHANGE COLUMN created_date created_date DATETIME NULL DEFAULT NULL;
      猜你喜欢
      • 2010-10-03
      • 2020-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-15
      • 2015-02-25
      相关资源
      最近更新 更多