2013-01-31 12 views
5

ここに私の手続きコードがあります。古いusernameをwhere節に入れてUsernameを更新しようとしていますが、動作しません。mysqlプロシージャの更新文が機能しない

DELIMITER $$ 

    DROP PROCEDURE IF EXISTS `databasename`.`UpdateUsername` $$ 

    CREATE DEFINER=`root`@`localhost` PROCEDURE `UpdateUsername` 
(IN uname VARCHAR(30),tid VARCHAR(100),username VARCHAR(30) ) 

BEGIN 



UPDATE table_name SET Username=username WHERE Username=uname; 

END $$ 
DELIMITER ; 

この問題を解決するのを手伝ってください。

+0

エラーは見つかりませんでした。値を更新していません。 – naveed

+0

Mahmoud Gamalはいいいえその仕事..コメントの代わりに – naveed

+0

私はそれを受け入れるでしょう。たくさんありがとうございます – naveed

答えて

2

行番号 '6'から 'username'を削除し、他のパラメータ名を使用してみます。テーブルの[ユーザー名]フィールドと競合している可能性があります。たとえば :UPDATE table_name SET Username=OTHER_PARAMETER_NAME WHERE Username=uname;

0

tidがテーブル名の場合、更新クエリでtable_nameの代わりにtidを使用しないでください。

+0

"tid"は別の列名ですnot table_name。 – naveed

0

こんにちは、私は同じ問題に直面している更新クエリをテーブル名にALISEを与え、実行してみてください

私が使用しているクエリがある

UPDATE table_name tn SET tn.Username=username WHERE tn.Username=uname; 

このクエリを試してみてください。

update file_structure fs set fs.active_status = 'N' where fs.fileid = temp_fileid and fs.appid = temp_appid; 
関連する問題