【发布时间】:2014-07-23 09:09:46
【问题描述】:
从 PHP 代码中,我尝试在 DB2 表中插入一个新行,其中我有列名但没有相应的数据类型。
Insert into <table_name> (column1,column2,column3,.....) values ('value1','value2','value3',....)
所以,如果任何列是日期或时间戳数据类型,'value' 周围的单引号会使 db2_exec 函数抛出错误:
Warning: db2_exec(): Statement Execute Failed in C:\Program Files (x86)\insight_db.php on line 68
[IBM][CLI Driver][DB2/NT64] SQL0180N The syntax of the string representation of a datetime value is incorrect. SQLSTATE=22007 SQLCODE=-180
为了避免在这些值周围放置'',我需要获取表格每一列的数据类型,从而检查是否放置引号的条件。
【问题讨论】:
-
DB2 没有抱怨引号。它抱怨日期或时间戳的格式。 'YYYY-MM-DD' 应该没问题。你在用什么?
-
就我而言,我正在动态获取值。这些值也可以为空。如果我在控制中心的日期变量中不插入任何内容,它就可以正常工作。