带嵌套select的sql insert语句

时间:2016-07-20 09:42:04

标签: mysql sql

是否可以执行1个sql语句(插入),您从另一个表中复制一个插入值,而另一个值是硬编码的? 例如,profilepic,我想复制另一个表数据的值。至于displayname,我想硬编码。 这是我的sql语句:

  insert into registration (profilePic, displayname) 
    values ( (select profilePic from registration where userId = 143), 'abc'  );

来自mysql的错误消息:

Error code:1093. You can't specify target table 'registration' for update in from clause. 

1 个答案:

答案 0 :(得分:3)

在values子句中使用子查询将不起作用。您应该使用以下查询:

insert into registration (profilePic, displayname) 
select (select profilePic from registration where userId = 143), 'abc'