如何在phpMyAdmin中设置要在MySQL查询中使用的字符串变量

时间:2017-01-12 01:52:27

标签: mysql phpmyadmin

我想设置一个文本/字符串变量,用于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";
...

0 个答案:

没有答案