値をinsert query
fromに設定したいのですがselect query
、これを実行する方法。
insert into t_user (id,user_id) values (1, )
where user_id in (select id from user where id=123)
選択したクエリ値からの値を設定したいのですがuser_id
、SQLでこれを行うにはどうすればよいですか?
値をinsert query
fromに設定したいのですがselect query
、これを実行する方法。
insert into t_user (id,user_id) values (1, )
where user_id in (select id from user where id=123)
選択したクエリ値からの値を設定したいのですがuser_id
、SQLでこれを行うにはどうすればよいですか?
これを試して:
INSERT INTO t_user (id, user_id)
SELECT 1, id
FROM user
WHERE id = 123
insert into t_user(id, user_id) select 1, id from user where id=123;
insert into t_user (id,user_id)
select 1,id from user where id=123
テーブルに列が 2 つしかない場合は、列を再度指定する必要はありません
insert into t_user
select 1,id from user where id=123
INSERT INTO t_user(id, user_id)
SELECT id,1
FROM user ;
WHERE id = 123
そしてその場合、これの問題は何ですか:
INSERT INTO t_user(id, user_id) VALUES(1,123);
問題は少し奇妙です。最初から両方の値を知っているのであれば、わざわざ選択する必要はありません。
このようなテーブル構造があると仮定します
---------- -------
articles users
---------- -------
rowid rowid
article_id user_id
user_id user_name
そして、このようないくつかのエントリ
---------------------------------
users
---------------------------------
rowid user_id user_name
---------------------------------
1 124 joe
7 12309 mark
別のテーブルからのルックアップ/参照に基づいて値を挿入する正しい方法は次のとおりです。
INSERT INTO articles (rowid, article_id, user_id)
SELECT 1, 12392, user_id FROM users
WHERE rowid = 7
これにより、次のレコードが記事に挿入されます
---------------------------------
articles
---------------------------------
rowid article_id user_id
---------------------------------
1 12392 12309
しかし、なぜこのデータベース設計または挿入方法を使用するのかは、私にはわかりません。