質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

解決済

3回答

2042閲覧

SQL テーブルのデータを他のテーブルに更新したい

退会済みユーザー

退会済みユーザー

総合スコア0

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

0クリップ

投稿2016/11/06 15:09

編集2016/11/06 15:13

初めまして、長島と申します。

###前提・実現したいこと
wp_postmeta の meta_value に
wp_posts の val のデータを更新したいです。

条件としては
wp_postmeta の meta_key が test の 記事に更新したいです。

それと、
wp_postmeta の post_id と
wp_posts の ID が同じ記事に更新したいです。

###発生している問題・エラーメッセージ

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM wp_postmeta INNER JOIN wp_posts on wp_postmeta.post_id = wp_posts.ID and wp' at line 1

###該当のソースコード

UPDATE wp_postmeta SET wp_postmeta.meta_value = wp_posts.val FROM wp_postmeta INNER JOIN wp_posts on wp_postmeta.post_id = wp_posts.ID and wp_postmeta.meta_key = 'test';

###補足情報(言語/FW/ツール等のバージョンなど)
WordPressのテーブルです。
phpmyadmin で SQL を使用しています。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

おそらくhiimさんの回答で問題ないので補足だけ。

別テーブルを参照するUPDATE句、DELETE句はベンダごとに、
書き方に癖があるので利用するDBMS(ここではMySQL)の構文をマニュアルなりで確認する習慣を付けると良いと思います。

参考までにUPDATE句にてFROM句が利用できるのは、
SQL Server、PostgreSQLなどで、
ベンダによる拡張機能となります。

投稿2016/11/07 12:22

Panzer_vor

総合スコア1636

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/11/07 15:39

回答ありがとうございます、解決しました! 全然勉強不足でした。 アドバイスありがとうございます。
guest

0

これって#1064のエラーですね。
これはクエリにシングルコーテーション「'」が含まれているから。
「`」に置換して再度実行してみてください。

投稿2016/11/06 15:20

MasahikoHirata

総合スコア3747

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/11/07 15:39

回答ありがとうございます、解決しました!
guest

0

ベストアンサー

SQLの文法がめちゃくちゃです。。。

参考URL
http://qiita.com/atwata/items/8ccb240ca450de4a6651
とか
http://qiita.com/labocho/items/9169f5f4cc94f95df448
でどうでしょう

SQL

1UPDATE wp_postmeta left join wp_posts on wp_postmeta.post_id = wp_posts.ID 2SET wp_postmeta.meta_value = wp_posts.val 3where wp_postmeta.meta_key = 'test';

こんな感じ?動作未確認

投稿2016/11/06 15:17

編集2016/11/06 15:30
hiim

総合スコア1689

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MasahikoHirata

2016/11/06 15:27

’You have an error in your SQL syntax; check the manual’出てるし。
退会済みユーザー

退会済みユーザー

2016/11/07 15:38 編集

ありがとうございます、解決しました! 詳しく回答していただいたので、ベストアンサーにさせて頂きました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問