使用ColdFusion将日期和时间插入MySQL

Ele*_*ist 3 mysql coldfusion datetime

我完全迷失在这里.

MySQL数据库中有一个"datetime"类型的字段.我想用ColdFusion程序生成的日期时间来填充它.我发现CreateODBCDateTime必须用于转换为属性格式,以便MySQL接受它,所以...

<cfset myDateTime = CreateODBCDateTime("07-04-2012 20:11:00")>
Run Code Online (Sandbox Code Playgroud)

以后某个地方:

<cfquery name="qAddDate">
    INSERT INTO some_table
    (`date`)
    VALUES
    ('#myDateTime#')
</cfquery>
Run Code Online (Sandbox Code Playgroud)

但是,我在尝试将数据发送到数据库时收到此错误:

您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在第8行'2012-07-04 20:11:00'}')'附近使用正确的语法

第8行是日期行:

INSERT INTO some_table
(`date`)
VALUES
('{ts '2012-07-04 20:11:00'}')
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

谢谢.

Lei*_*igh 10

您不需要日期对象周围的引号,只需要字符串.删除引号应该可以解决语法错误:

  INSERT INTO some_table (`date`)
  VALUES ( #myDateTime# )
Run Code Online (Sandbox Code Playgroud)

虽然你应该养成使用的习惯 cfqueryparam

  INSERT INTO some_table (`date`)
  VALUES ( <cfqueryparam value="#myDateTime#" cfsqltype="cf_sql_timestamp"> )
Run Code Online (Sandbox Code Playgroud)

...或者,如果它是有效/可解析的美国日期字符串,您可以跳过createODBCDate并使用:

  INSERT INTO some_table (`date`)
  VALUES ( <cfqueryparam value="07-04-2012 20:11:00" cfsqltype="cf_sql_timestamp"> )
Run Code Online (Sandbox Code Playgroud)