我想设置一个文本/字符串变量,用于phpMyAdmin中的一些MySQL查询。我可以创建一个数字变量,但我想知道我是否可以对文本字符串做同样的事情。
以下是我的一些MySQL查询语句的选择:
-- copies abc_wordpress.wp_usermeta to xyz_wordpress.wp_usermeta;
USE abc_wordpress;
OPTIMIZE TABLE wp_usermeta;
DROP TABLE IF EXISTS wp_usermeta_source;
CREATE TABLE wp_usermeta_source LIKE wp_usermeta;
INSERT INTO wp_usermeta_source SELECT * FROM wp_usermeta;
-- the following numeric variable works perfectly
SET @count = 466;
UPDATE wp_usermeta_source SET umeta_id = @count:= @count + 1;
-- END working numeric variable
ALTER TABLE wp_usermeta_source AUTO_INCREMENT=467;
UPDATE wp_usermeta_source SET meta_key = "wp_22_capabilities" WHERE meta_key = "wp_capabilities";
UPDATE wp_usermeta_source SET meta_key = "wp_22_user_level" WHERE meta_key = "wp_user_level";
UPDATE wp_usermeta_source SET meta_key = "wp_22_user-settings" WHERE meta_key = "wp_user-settings";
UPDATE wp_usermeta_source SET meta_key = "wp_22_user-settings-time" WHERE meta_key = "wp_user-settings-time";
INSERT INTO wp_usermeta_source ( user_id, meta_key, meta_value ) SELECT ID, "source_domain", "dev.example.com" FROM wp_users;
...
我想要做的是创建2个变量。一个存储_source
,另一个存储_22_
。可能吗?我尝试了SET @source = "_source"
和SET @site = "_22_"
,但经过多次尝试和变化后,我无法让它们发挥作用。
有可能吗?
修改以获得更好的清晰度
如果有的话,我怎么能这样做?
@sourceVar = "_source";
@tableID = "22";
...
UPDATE wp_usermeta_@sourceVar SET meta_key = "wp_@tableID_user_level" WHERE meta_key = "wp_user_level";
...