3

我想将值设置为insert query来自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 中执行此操作?

4

6 回答 6

3

试试这个:

INSERT INTO t_user (id, user_id)
SELECT 1, id 
FROM user
WHERE id = 123
于 2012-06-18T11:37:43.887 回答
2
insert into t_user(id, user_id) select 1, id from user where id=123;
于 2012-06-18T11:37:25.413 回答
2
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
于 2012-06-18T11:40:26.110 回答
1

在那种情况下,这有什么问题:

INSERT INTO t_user(id, user_id) VALUES(1,123);

我的意思是这个问题有点奇怪,如果你从一开始就知道这两个值,为什么还要费心选择。

于 2012-06-18T11:39:54.703 回答
1
INSERT INTO t_user(id, user_id)
       SELECT id,1
       FROM user ;
       WHERE id = 123 
于 2012-06-18T12:10:54.913 回答
0

假设您有这样的表结构

----------      -------
 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 

但是,我不知道为什么要使用这种数据库设计或插入方法。

于 2012-06-18T11:37:50.073 回答