Php MySQL查询不使用嵌套选择
下面的代码似乎不起作用,我不是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
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