
追加したいカラムが3つあるとしまして、そのうち2つはフォームからの入力値で、残り1つは別テーブルのIDをWHEREで引っ張ってきてINSERTしたい場合、INSERT...VALUES()とINSERT...SELECT構文を組み合わせないとダメかと思うのですが、組み合わせるとうまくいきません。2つの文に分けるしかないのでしょうか?
やりたいことは下の感じのSQLです。が、解釈してくれません。
INSERT INTO room(A, B, C) VALUES (1, 2, SELECT other_table.id FROM other_table WHERE other_table.id = 1");
No.1ベストアンサー
- 回答日時:
おつかいのMySQLのバージョンはサブクエリがつかえますか?
バージョンによって仕様が大幅に異なりますので、そのあたりを
提示した方がよろしいかと。
ちなみに表示のSQL文を見る限り
SELECT other_table.id FROM other_table WHERE other_table.id = 1
としても、idで検索してidを返しているので、1しか返って来ないのでは?
(微妙に文法違反もあるし)
こんな感じで再度テストしてみてください
INSERT INTO `room`(`A`, `B`, `C`)
VALUES ('1', '2', (SELECT `data` FROM `other_table`WHERE `id` = 1));
この回答への補足
ご回答ありがとうございます。
MySQLはバージョン5です。
昔はサブクエリ使えませんでしたね…。
ご提示いただいたSQLでテストしてみましたがやっぱりうまくいきませんでした。PDOのprepare利用してます。
すいません、うまくいきました。さっきは括弧の数間違えてました。ありがとうございました。
()でSELECTをくくればよかっただけだったんですね…。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 次の時間帯の勝率の合計を求めるSQL文 1 2023/07/04 17:12
- PHP php エラー 2 2022/10/23 16:43
- PHP プログラムコードを入力する場合改行してもいいですか? 2 2022/10/02 16:05
- MySQL 共通点はあります。何が違うのでしょうか? 1 2023/01/27 05:22
- MySQL 下の画像はSQLの4大命令の性質をまとめたものであるらしいです UPDATE INSERT DELE 1 2023/06/07 15:36
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- Oracle SQL update方法 2 2022/06/22 14:07
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの関数について教えて...
-
#1136 - Column count doesn't ...
-
PL/SQLの変数について
-
[MySQL] 3つのテーブルの結合で...
-
`picture` varchar(255) のコマ...
-
同じテーブルの内容を異なる列...
-
[SQLServer] テーブル名からカ...
-
HAVING count()で重複したデー...
-
エクセルで最後の文字だけ置き...
-
[MySQL] UNIQUE制約の値を更新...
-
insertを高速化させたい
-
LAST_INSERT_IDで同時にアクセ...
-
VIEWの元のテーブルのindexって...
-
updateを1行ずつ実行したい。
-
カラム名でseqとidではどちらが...
-
android.R.id.text1はどこにある
-
複数の重複するIDの最新のレコ...
-
AUTO_INCREMENTのあるテーブル...
-
SQL Left Join で重複を排除す...
-
Mysql でレコードを追加した時...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
エクセルの関数について教えて...
-
select文のwhere句に配列を入れ...
-
VIEWの元のテーブルのindexって...
-
エラー 1068 (42000): 複数の主...
-
SQLにて特定の文字を除いた検索...
-
【Transact-sql】 execの結果を...
-
マイクラPC版のコマンドで効率...
-
SQL Left Join で重複を排除す...
-
sqlで、600行あるテーブルを100...
-
複数テーブルのGROUP BY の使い...
-
WordpressのContact form 7でzi...
-
クエリ表示と、ADOで抽出したレ...
-
SQLサーバから、項目の属性(型...
-
selectした大量データをinsert...
-
Access パラメータクエリをcsv...
-
副問合せの書き方について
-
inner joinをすると数がおかし...
-
insertを高速化させたい
-
[MySQL] 3つのテーブルの結合で...
おすすめ情報