Insert date and time into MySQL with ColdFusion

后端 未结 3 536
南方客
南方客 2020-12-21 06:55

I am totally lost here.

There is a field of type \"datetime\" in MySQL database. I want to populate it with a datetime generated by ColdFusion program. I found that

相关标签:
3条回答
  • 2020-12-21 07:18

    These look like "back ticks", which would cause a problem. Of course, I have not used MySQL, so I can't say for sure.

    (`date`)
    

    You should be able to do this:

    INSERT INTO some_table(date)
    VALUES ('{ts '2012-07-04 20:11:00'}')
    
    0 讨论(0)
  • 2020-12-21 07:22

    You do not need quotes around date objects, only strings. Removing the quotes should resolve your syntax error:

      INSERT INTO some_table (`date`)
      VALUES ( #myDateTime# )
    

    Though you should get into the habit of using cfqueryparam

      INSERT INTO some_table (`date`)
      VALUES ( <cfqueryparam value="#myDateTime#" cfsqltype="cf_sql_timestamp"> )
    

    ... OR if it is a valid/parseable US date string, you could skip the createODBCDate and just use:

      INSERT INTO some_table (`date`)
      VALUES ( <cfqueryparam value="07-04-2012 20:11:00" cfsqltype="cf_sql_timestamp"> )
    
    0 讨论(0)
  • 2020-12-21 07:32

    The following code snippet and output display (at bottom of post)

    show MySQL date field insertion and update using ColdFusion 10.

    <CFOUTPUT>
    
      <CFSET mLST_UPDT = CreateODBCDate("07/04/2012")>
    
      Date for SQL Insert = #mLST_UPDT# <br>
    
    <!---- INSERT code without use of cfqueryparam ---->
    <CFQUERY NAME="TAB_INSERT" DATASOURCE="HELMSFARMS">
    INSERT INTO DATE_TABLE (LST_UPDT) VALUES (#mLST_UPDT#)
    </CFQUERY>
    
    <!---- INSERT code using cfqueryparam ---->
    <CFQUERY NAME="TAB_INSERT" DATASOURCE="HELMSFARMS">
    INSERT INTO DATE_TABLE
    (LST_UPDT)
    VALUES (<cfqueryparam value="#mLST_UPDT#" cfsqltype="cf_sql_date"> ) 
    </CFQUERY>
    
    <!---- Getting and Displaying results of INSERT ---->
    <CFQUERY NAME="GET_DATES1" DATASOURCE="HELMSFARMS">
    SELECT LST_UPDT FROM DATE_TABLE  
    </CFQUERY>
    
    <CFLOOP QUERY="GET_DATES1">
    #CURRENTROW#. #GET_DATES1.LST_UPDT# #dateformat(GET_DATES1.LST_UPDT,"mm/dd/yyyy")#
    <br>
    </CFLOOP>
    
    <!---- Code that uses UPDATE on the records INSERTED above ---->
    <cfset mNXT_UPDT = CreateODBCDate("08/05/2014")>
    <br>
    Date for SQL Update = #mNXT_UPDT# <br>
    
    <!---- UPDATE code using cfqueryparam ---->
    <CFQUERY NAME="GET_DATES2" DATASOURCE="HELMSFARMS">
    UPDATE DATE_TABLE SET
    LST_UPDT = <cfqueryparam value="#mNXT_UPDT#" CFSQLType="cf_sql_date" > 
    </CFQUERY>
    
    <CFQUERY NAME="GET_DATES2" DATASOURCE="HELMSFARMS">
    SELECT LST_UPDT FROM DATE_TABLE  
    </CFQUERY>
    
    <CFLOOP QUERY="GET_DATES2">
    #CURRENTROW#. #GET_DATES2.LST_UPDT# #dateformat(GET_DATES2.LST_UPDT,"mm/dd/yyyy")#<br>
    </CFLOOP>
    
    </CFOUTPUT>  
    
    <!----- Results of running above code 
    Used a MySQL table named DATE_TABLE with 
    one Date Field named LST_UPDT
    --------------------------------------
    Date for SQL Insert = {d '2012-07-04'} 
    1. {ts '2014-08-05 00:00:00'} 08/05/2014
    2. {ts '2014-08-05 00:00:00'} 08/05/2014
    3. {ts '2014-08-05 00:00:00'} 08/05/2014
    4. {ts '2014-08-05 00:00:00'} 08/05/2014
    5. {ts '2012-07-04 00:00:00'} 07/04/2012
    6. {ts '2012-07-04 00:00:00'} 07/04/2012
    Date for SQL Update = {d '2014-08-05'} 
    1. {ts '2014-08-05 00:00:00'} 08/05/2014
    2. {ts '2014-08-05 00:00:00'} 08/05/2014
    3. {ts '2014-08-05 00:00:00'} 08/05/2014
    4. {ts '2014-08-05 00:00:00'} 08/05/2014
    5. {ts '2014-08-05 00:00:00'} 08/05/2014
    6. {ts '2014-08-05 00:00:00'} 08/05/2014
    ---->
    
    0 讨论(0)
提交回复
热议问题