1

WordPress データベースでいくつかの変更を行っています。wp-posts テーブルの GUID フィールドの URL を、ebdurls という別のテーブルからの URL に置き換える必要があります。テーブルの説明は次のとおりです。

wp_posts: 必要な 2 つのフィールドのフィールド タイプは次のとおりです。

ID -> bigint(20) 符号なし

GUID -> varchar(255)

そして、wp_posts にエクスポートする必要があるデータがあるテーブルは次のとおりです。

ebdurl:

タイトル -> varchar(255)

URL -> varchar(255)

ebdid -> bigint(20) 署名なし

すべてが正しいように見えますが、次のクエリを適用すると、実際には取得できないエラーが発生します。フィールドやテーブルなどをどこでも引用しようとしましたが、うまくいきませんでした。

mysql> update wp_posts set wp_posts.guid=ebdurls.url where wp_posts.id=ebdurls.ebdid;

エラー 1054 (42S22): 'where 句' に不明な列 'ebdurls.ebdid' があります

間違いはどこですか?

4

2 に答える 2

1

ebdurls が何であるかを指定していない場合は、クエリに from ステートメントを追加します。

UPDATE 
    wp_posts, ebdurls
SET 
    wp_posts.guid = ebdurls.url 
WHERE 
    wp_posts.id=ebdurls.ebdid;

編集: ビルは正しかった、今フォーマットを修正しました。おっとっと。

于 2010-07-28T23:21:36.637 に答える
0

ebdurls.*値はありません。それがあなたのエラーの原因です。データベースは、あなたが何をしようとしているのかわかりません。

おそらく、サブクエリを使用するか、このロジックをアプリケーションに追加する必要があります。

または次のようなもの:

UPDATE wp_posts, ebdurls ...

于 2010-07-28T23:18:27.643 に答える