2013-01-31 17 views
5

Ecco il mio codice di procedura. Sto cercando di aggiornare Username inserendo il vecchio nome utente in where clause.but che non funziona.Istruzione di aggiornamento nella procedura mysql non funzionante

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 ; 

per favore aiutami a risolvere questo problema.

+0

Nessun errore trovato, non aggiorna il valore. – naveed

+0

Mahmoud Gamal sì non funziona .. – naveed

+0

invece di commentare rispondimi lo accetto..Grazie molto – naveed

risposta

2

Provare a rimuovere "nome utente" dal numero di riga "6" e utilizzare un altro nome di parametro. Potrebbe essere in conflitto con il campo Nome utente della tabella. Per esempio: UPDATE table_name SET Username=OTHER_PARAMETER_NAME WHERE Username=uname;

0

Se tid è il nome della tabella, non dovresti usare tid anziché table_name nella query di aggiornamento?

+0

"tid" è un altro nome di colonna non è table_name. – naveed

0

Ciao ho affrontato lo stesso problema dare un'Alise al nome della tabella e provare a eseguire query di aggiornamento

Prova questa ricerca

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

la query ho usato è:

update file_structure fs set fs.active_status = 'N' where fs.fileid = temp_fileid and fs.appid = temp_appid; 
Problemi correlati