Php MySQL查询不使用嵌套选择

Php MySQL查询不使用嵌套选择,php,mysql,pdo,Php,Mysql,Pdo,下面的代码似乎不起作用,我不是MySQL的专家,但这似乎应该起作用,有什么线索吗 if($params['action'] == 'createTab'){ $stmt = $dbh->prepare(" insert into dashboard_data (position, user_id) values ( (select

下面的代码似乎不起作用,我不是MySQL的专家,但这似乎应该起作用,有什么线索吗

if($params['action'] == 'createTab'){
    $stmt = $dbh->prepare("
        insert into
            dashboard_data
        (position, user_id)
            values
        (   
            (select
                max(position) + 1
            from
                dashboard_data
            where
                user_id=:userid
            ),
            :userid
        )
    ");
    $stmt->bindParam(':userid', $userId);
    $stmt->execute();
使用


看起来嵌套的select语句只生成一列,而insert需要两列。使用mysql命令行或phpmyadmin测试sql语句。这是确保它们工作的最简单方法。语法不正确。你不能使用
values
select
Ahh,所以如果我删除了values关键字,它应该可以工作吗?它只用于字符串输入吗?不,请查看
:userid
变量。它也在别的地方。
insert into dashboard_data (position, user_id)
select max(position) + 1, :userid 
from dashboard_data 
where user_id = :userid