带有嵌套选择的sql插入语句

qcc*_*qcc 3 mysql sql

是否可以执行 1 个 sql 语句(插入),复制另一个表中的插入值之一和硬编码的另一个值?例如,profilepic,我想复制另一个表数据中的值。至于显示名称,我想进行硬编码。这是我的sql语句:

  insert into registration (profilePic, displayname) 
    values ( (select profilePic from registration where userId = 143), 'abc'  );
Run Code Online (Sandbox Code Playgroud)

来自 mysql 的错误消息:

Error code:1093. You can't specify target table 'registration' for update in from clause. 
Run Code Online (Sandbox Code Playgroud)

Cam*_*ker 5

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

insert into registration (profilePic, displayname) 
select (select profilePic from registration where userId = 143), 'abc'
Run Code Online (Sandbox Code Playgroud)