我想制作一个程序来更新存储我的用户详细信息的表,包括IP地址。它还需要更新用户访问表,如下所示。
CREATE DEFINER=`root`@`localhost` PROCEDURE `UpDateIPAddr`(IN K int(11), IN `V`varchar(16))
BEGIN
RENAME USER (select UName from Employee where TKey = K)@(select IPAddr from Employee where TKey = K) TO (select UName from Employee where TKey = K)@V;
UPDATE timecard.Settings SET `IPAddr`= V WHERE `TKey`= K;
END
我该怎么做
答案 0 :(得分:0)
您必须以字符串格式汇编rename user
语句并使用prepared statement执行它,因为您无法在重命名用户语句中直接使用子查询。
使用select ... into ...语句将表中的数据分配给变量。