5

これが私の手順コードです。where句に古いユーザー名を入れてユーザー名を更新しようとしていますが、機能しません。

 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 ;

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

4

3 に答える 3

2

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

于 2013-01-31T11:07:06.947 に答える
0

tidがテーブル名の場合、更新クエリでtable_nameの代わりにtidを使用するべきではありませんか?

于 2013-01-31T10:42:08.013 に答える
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; 
于 2013-05-27T13:34:09.863 に答える