我正在尝试对mysql数据库引擎运行一个使用绑定变量的查询。我想知道如何告诉引擎“重置”绑定变量的赋值。我相信一个例子会比我可怜的大脑解释得更好。
下面是查询:
INSERT INTO site_support_docs
      (
          ASSET_ID,
          TIME_STAMP,
          SITE_NAME,
          DOCUMENT_NAME,
          DOCUMENT_LOCATION,
          DOCUMENT_CONTENT,
          DOCUMENT_LAST_MODIFIED
      )
VALUES (?, ?, ?, ?, ?, ?, STR_TO_DATE(?, '%M %e, %Y %r'))
ON DUPLICATE KEY UPDATE asset_id   = ?,
                        time_stamp   = ?,
                        site_name   = ?,
                        document_name   = ?,
                        document_location   = ?,
                        document_content   = ?,
                        document_last_modified   =
                           STR_TO_DATE(?, '%M %e, %Y %r')我的问题是第八个"?“当只有七个绑定变量时,被解释为新的绑定变量。不管怎样,我想我可以恢复使用实际的值...但是,我相信有更好的方法。哑光
发布于 2009-04-24 14:58:23
MySQL提供了一个"VALUES()“函数,该函数提供了在不存在重复键冲突的情况下插入的值。那么你不需要重复这个占位符。
插入t值(?)重复密钥更新x= VALUES(x);
http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_values
https://stackoverflow.com/questions/783857
复制相似问题