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
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'}')
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"> )
The following code snippet and output display (at bottom of post)
<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
---->