我正在使用Coldfusion8和MySQL,並試圖插入到表中。爲什麼我無法從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")
如果您在插入後執行select語句,您會看到結果:SELECT * FROM teilnehmer ..然後轉儲出select statemet的結果? – Jason
你說這是從MySQL內部起作用的。我對此不太熟悉,但是你在數據源配置中使用了相同的帳戶嗎?根據@Jason所要求的內容,似乎可能創建記錄,只是在MySQL中使用的帳戶中不可見。 – Barry
..特別是因爲你的'result'轉儲證明'insert'是成功的,並且賦值爲id = 42。這支持@Barry的懷疑。 – Leigh