在mysql过程中更新语句不起作用

时间:2013-01-31 10:10:28

标签: mysql stored-procedures java-stored-procedures

这是我的程序代码。我试图通过在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 ;

请帮我解决这个问题。

3 个答案:

答案 0 :(得分:2)

尝试删除用户名'从行号' 6'并使用其他一些参数名称。它可能与您的表用户名字段冲突。 例如:UPDATE table_name SET Username=OTHER_PARAMETER_NAME WHERE Username=uname;

答案 1 :(得分:0)

如果tid是表名,那么你不应该在更新查询中使用tid而不是table_name吗?

答案 2 :(得分: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;