2013-01-31 2 views
5

Вот мой код процедуры. Я пытаюсь обновить Username, поставив старое имя пользователя в where clause.but, но оно не работает.Операция обновления в процедуре 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

Попробуйте удалить 'username' из номера строки '6' и использовать другое имя параметра. Это может быть противоречиво с полем пользователя таблицы. Например: UPDATE table_name SET Username=OTHER_PARAMETER_NAME WHERE Username=uname;

0

Если tid - это имя таблицы, вы не должны использовать tid вместо table_name в запросе обновления?

+0

«tid» - это еще один столбец, имя которого не является таблицей. – naveed

0

Привет я столкнулся же вопрос дать Алисе для имени таблицы и попробуйте запустить запрос на обновление

попробовать этот запрос

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;