検索しましたが、これを自分で機能させることはできません
したがって、完全に明確にするために、次のようなmeta_keysを持つWPデータベースがあります。
ID ------ POST_ID -------- META_KEY ---- META_VALUE
1 ------ 235 ------- book_price ---- 35$
2 ------ 256 ------- book_price ---- 65$
3 ------ 235 ------- tcp_book_price ---- 0
4 ------ 256 ------- tcp_book_price ---- 0
tcp_book_price の meta_value が、同じ post_id を持つ book_price から meta_value を受け取るようにしたい
希望する最終結果:
ID ------ POST_ID -------- META_KEY ---- META_VALUE
1 ------ 235 ------- book_price ---- 35$
2 ------ 256 ------- book_price ---- 65$
3 ------ 235 ------- tcp_book_price ---- 35$
4 ------ 256 ------- tcp_book_price ---- 65$
UPDATE FROM SELECT を試しましたが、うまくいきません。
前もって感謝します
OK、PHPスクリプトを使用して自分で解決策を見つけました:
<?php
$conn = mysql_connect("localhost", "root", "root");
if (!$conn) {
echo "Impossible de se connecter à la base de données : " . mysql_error();
exit;
}
if (!mysql_select_db("database_name")) {
echo "Impossible de sélectionner la base database_name : " . mysql_error();
exit;
}
$sql = "SELECT `post_id`, `meta_value` FROM `wp_postmeta` WHERE `meta_key` = 'book_price'";
// query the database
$resource = mysql_query($sql);
// loop through the results
while ($result = mysql_fetch_assoc($resource)) {
// grab the value
$price = $result['meta_value']; // you should use quotes here, btw
$pid = $result['post_id']; // you should use quotes here, btw
echo $price;
echo $pid;
// make your modifications;
// ++$nox; // or whatever
// build the query
$sql = "UPDATE `wp_postmeta` SET `meta_value` = '$price' WHERE `meta_key` = 'tcp_price' AND `post_id` = '$pid'";
// run the query
mysql_query($sql);
}
?>