SQL Insert语句,其中单个值从另一个表中进行选择

SQL Insert语句,其中单个值从另一个表中进行选择,sql,Sql,我有以下SQL: INSERT INTO Invite VALUES (NULL,?,(SELECT id FROM User WHERE name = ?),?); 然而,这似乎不起作用 谁能告诉我我做错了什么 更新 以下php代码给出了erro代码1136: $sql = 'INSERT INTO Invite SELECT NULL, ?, id, ? FROM User WHERE username = ?'; $variables = array($team_id,$_SES

我有以下SQL:

INSERT INTO Invite VALUES (NULL,?,(SELECT id FROM User WHERE name = ?),?);
然而,这似乎不起作用

谁能告诉我我做错了什么

更新

以下php代码给出了erro代码1136:

    $sql = 'INSERT INTO Invite SELECT NULL, ?, id, ? FROM User WHERE username = ?';
$variables = array($team_id,$_SESSION['User']['id'],$username);
$result = $this->db->prepTemplate($sql, 'iis', $variables);

我无法使以下操作正常工作:插入到邀请中选择NULL,id?从User WHERE username=?我无法执行以下操作:INSERT INTO Invite SELECT NULL,?,id?从User WHERE username=?我无法执行以下操作:INSERT INTO Invite SELECT NULL,?,id?从User WHERE username=?我无法执行以下操作:INSERT INTO Invite SELECT NULL,?,id?从用户名=?代码1136的用户处清楚地提到错误“列计数与值计数不匹配”。检查表Invite中的列数。代码1136明确指出错误“列计数与值计数不匹配”。检查表Invite中的列数。代码1136明确指出错误“列计数与值计数不匹配”。检查表Invite中的列数。代码1136明确指出错误“列计数与值计数不匹配”。检查表Invite中的列数。
INSERT INTO Invite 
SELECT NULL, ?, id, ?
FROM User
WHERE name = ?