我想從select query
設置值爲insert query
,如何執行此操作。從選擇查詢插入查詢值
insert into t_user (id,user_id) values (1,)
where user_id in (select id from user where id=123)
我想設置的user_id
從選擇查詢值的價值,如何做到這一點的SQL?
我想從select query
設置值爲insert 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;
假設你有一個像這樣
---------- -------
articles users
---------- -------
rowid rowid
article_id user_id
user_id user_name
而且這樣
---------------------------------
users
---------------------------------
rowid user_id user_name
---------------------------------
1 124 joe
7 12309 mark
幾個條目插入正確的方式表結構基於lookup/re的值從另一個表ference會是這樣:
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
這是超越我,但是,爲什麼要使用可以在本數據庫設計或插入方法。
然而,這超出了我,爲什麼你會使用這個數據庫設計或插入方法。我沒有得到這一點請諒解 – harqs
解釋爲什麼我的例子不是好的做法的定義是遠遠超出了SO的範圍。 – 2012-06-18 11:57:53
而且在這種情況下,什麼是這個問題:我的意思是這個問題有點怪,如果你知道從一開始這兩個值,爲什麼選擇用在所有的麻煩
INSERT INTO t_user(id, user_id) VALUES(1,123);
。
我不知道USER_ID的價值,我需要從某些其他表中獲取這個值並插入到T_USER – harqs
實際上 - 對於這個查詢 - 你可以。您從id = 123的用戶中檢索id,這意味着您始終檢索id = 123,因此這兩個查詢是等效的,除非用戶表根本不包含此類記錄 –
insert into t_user (id,user_id)
select 1,id from user where id=123
,如果你的表只有兩列則無需再次指定列
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
你已經知道你要插入的ID。爲什麼打擾呢? – 2012-06-18 11:40:06
我不知道USER_ID的價值,我需要從一些其他表中的值,並插入到T_USER – harqs
@Geoist我猜測,因爲如果id 123不存在於數據庫中,那麼它不想被插入.. 。 –