2017-01-12 7 views
1

テーブルの各エントリに新しい行を挿入しようとしています。MariaDBが複数のサブクエリを持つ複数の行に挿入する

INSERT INTO `serviceProducts`(`model_id`, `url_name`, `priority`, `status`, `info`, `image_link`, `mobilephone`, `service`, `time`, `price`) 
SELECT id FROM models, 
CONCAT(SELECT url_name FROM models,"-felsoekning"), 
10, 
1, 
"", 
"", 
(SELECT name FROM models), 
"Felsökning", 
"", 
399 

存在するモデルごとに新しい「サービス」エントリを追加したいとします。したがって、すべてのモデルIDとそのURLに適した名前と通常の名前を選択する必要があります。この問合せは、(SELECT name FROM models)の近くでエラーを戻します。

答えて

2

。他のテーブルの列と定数をマージする単一のSELECTを使用してください。

INSERT INTO `serviceProducts`(`model_id`, `url_name`, `priority`, `status`, `info`, `image_link`, `mobilephone`, `service`, `time`, `price`) 
SELECT id, CONCAT(url_name,"-felsoekning"), 10, 1, "", "", name, "Felsökning", "", 399 
FROM models 
+1

もちろん、答えは常に最も簡単です:)。おかげで – m33ts4k0z

+0

あなたは大歓迎です:) –

1

INSERT INTO `serviceProducts`(`model_id`, `url_name`, `priority`, `status`, `info`, `image_link`, `mobilephone`, `service`, `time`, `price`) 
SELECT id, 
CONCAT(url_name, "-felsoekning"), 
10, 
1, 
"", 
"", 
name, 
"Felsökning", 
"", 
399 
from models; 

については SELECTでサブクエリを使用しないでください何
+0

私は実際にそれを知らなかった。ありがとう – m33ts4k0z

関連する問題