我正在使用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")
答案 0 :(得分:0)
愚蠢的我...我在 CFtransaction 中进行了上面的INSERT数据库调用,之后有一些语句,其中一个包含错误,导致所有先前的转换语句被还原。所以我猜这些记录从来没有进入数据库,毕竟只有id-key随着存储过程的调用而增加。