2016-12-07 5 views
0

私は多くの同様の問題を経験しましたが、どれも問題を解決しませんでした。これはストアドプロシージャの作成に使用したコードです。フィールドリストの未知の列、パラメータ化されたストアドプロシージャ

DELIMITER // 
CREATE PROCEDURE sp_regUser(
IN user VARCHAR(100), 
IN name VARCHAR(50), 
IN surname VARCHAR(50), 
IN email VARCHAR(250), 
IN password VARCHAR(250), 
IN telephone VARCHAR(15), 
IN street VARCHAR(120), 
IN postalcode VARCHAR(6), 
IN id INT, 
IN birthdate DATE, 
IN message VARCHAR(320), 
IN photo LONGBLOB, 
IN photoName VARCHAR(50), 
IN role VARCHAR(10) 
) 
BEGIN 
INSERT INTO klientet(Perdoruesi,K_Emri,K_Mbiemri,K_Email,Fjalekalimi,K_T_Kontaktues,K_Rruga,K_KodiPostar,ID_Qyteti,K_Datelindja,Mesazh_shtese,Foto,Foto_Emri,Roli) 
VALUES(user, name, surname, email, password, telephone, street, postalcode, id, birthdate, message, photo, photoName, role); 
END// 
DELIMITER ; 

これは私がそれを呼び出す方法です。エラーコード:1054不明な列「フィールドリスト」の「K_Emri」

CALL sp_regUser('arlind','Arlind','Hajdari','[email protected]','perdorimi','0037745231807','Muhaxhiret 13','60000',8,'2016-01-01','miredita',LOAD_FILE('E:/Koala.jpg'),'image.jpg','user') 

この方法をやって、私はというエラーを取得します。挿入構文で指定された列は、データベース内の列に正しく対応しています。問題は何か分かりません。前もって感謝します。

+0

コマンドの出力は何ですか? klientetからの列を表示する。 –

+0

エラー(出力)は次のように表示されます。エラーコード:1054. 'フィールドリスト'に 'K_Emri'という列がありません。また、klientetテーブルには、ID_Klientiを主キーとしてAUTO_INCREMENTであり、挿入構文に必要なものではないなど、挿入構文で指定されたすべての列が含まれています。コメントしてくれてありがとう。 –

+0

MySQLがそのメッセージを与えるために、明らかにその列がデータベースにないと考えます。テーブルのDDL/CREATEが問題の根を診断するのに大いに役立つことを示しています。人々が投稿した他の質問でも、同様の問題は、(1)テスト・コピーではなく、テスト・プロダクションのコピーを指しているか、(2)その名前に明白な文字が含まれていない列(\ 'K_Emri \' 'vs' '' 'K_Emri \' 'のような)先頭と末尾の空白のようなものです。 – Uueerdo

答えて

0

問題は、klientetへの挿入後にトリガーされなければならなかったトリガーにありました。答えをありがとう。

関連する問題