2012-12-28 25 views
1

我剛剛從另一個CMS將用戶加入到我的Wordpress安裝中,現在我需要爲wp_users中的每個用戶ID插入帶有其id的新值到wp_usermeta。在SQL中有什麼想法嗎?插入來自SELECT的每個ID

+2

你需要插入什麼值?類似於INSERT INTO wp_usermeta(user_id,meta_key,meta_value)SELECT user_id,'keyname','newvalue'FROM wp_users',它使用具有字符串字面值的'INSERT INTO ... SELECT'... –

+0

@Kirix:請反引用_code_,而不是專有名詞。 –

+0

@MichaelBerkowski謝謝你 – Kin

回答

1

您可以使用SELECT語句作爲值的來源的INSERT,像這樣:

INSERT IGNORE INTO wp_usermeta (id) 
SELECT u.id FROM wp_users u 

的忽略關鍵字告訴MySQL插入,它可以的,如果任何行我們嘗試插入的行是「重複」行(拋出異常),然後只是讓這些行不被插入,並忽略否則會拋出的錯誤。

0

試試這個:

INSERT INTO wp_usermeta(id) 
SELECT id FROM wp_users; 
0

利用單引號的字符串文字,可以使用INSERT INTO ... SELECT語法同時從wp_users選擇所有用戶ID和插入字符串值到wp_usermeta

INSERT INTO wp_usermeta (user_id, meta_key, meta_value) 
    SELECT 
    wp_users.ID, 
    /* Single-quoted string literals for meta key and value... */ 
    /* Substitute the key and value you want to insert */ 
    'new_meta_keyname', 
    'new_meta_value' 
    FROM wp_users