0

我正在使用 Coldfusion8 和 MySQL,并试图插入表中。

但是,无论我是否使用 cfquery,它都不起作用:

<cfquery datasource="dns" result="some">
    INSERT INTO users(iln)
    VALUES("1234567890123")
</cfquery>
<cfdump output="path.txt" var="#some#">

或存储过程:

<cfstoredproc procedure="proc_insert_user" datasource="dns">
   <cfprocparam type="In" cfsqltype="cf_sql_varchar" value="1234567890123" maxlength="13">
</cfstoredproc>

使用 MySQL 内部的过程:

CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_insert_user`(IN `user_iln` VARCHAR(13))
  LANGUAGE SQL
  NOT DETERMINISTIC
  MODIFIES SQL DATA
  SQL SECURITY INVOKER
  COMMENT ''
  BEGIN
     INSERT INTO users (iln)
     VALUES(user_iln);
  END

如果我从 MySQL 内部运行该过程,它就可以工作。但是从 Coldfusion 我无法访问数据库。如果我在 cfquery/storedProc 之前和之后设置一个标志,两个标志都会显示,所以我假设没有错误(我也没有得到任何错误)

问题:我想我在 MySQL/Coldfusion 中缺少一些设置。如果是这样,我应该从哪里开始搜索?

感谢帮助!

编辑
当我尝试如上所述插入记录时,表 ID 不断增加,但没有显示新记录。所以正在创建 ID,但我看不到任何记录。不确定这是否有帮助。

EDIT2:
我在 Cfquery 中添加了一个结果参数。如果我转储结果,我会得到:

CACHED: false
EXECUTIONTIME: 60
GENERATED_KEY: 42
RECORDCOUNT: 1
SQL: INSERT INTO teilnehmer(iln)
VALUES("1234567891231")
4

1 回答 1

0

愚蠢的我......我在CFtransaction中有上述 INSERT 数据库调用,之后有一些语句,其中一个包含错误,这导致所有先前的转换语句都被还原。所以我猜这些记录根本就没有进入数据库,只有 id-key 随着存储过程的调用而增加。

于 2012-06-04T07:47:00.100 回答