我有以下SQL查询:
INSERT INTO tags(name) VALUES(LOWER(#[tag]));
SELECT LAST_INSERT_ID() AS ID;
我使用PHP PDO在MySQL上使用它,我收到以下错误:
Fatal error: Uncaught exception 'PDOException' with message
'SQLSTATE[HY000]: General error' in
/home/cabox/workspace/backend/Toolbox.php:62 Stack trace: #0
这是我的PHP代码:
$NI = (int)($DB->query(get_query("CREATE_TAG",[
"tag" => strtolower($name)
]))->fetch(PDO::FETCH_ASSOC)["ID"]);
get_query
函数在根据第二个参数中的数组替换所有#[]
后返回一个查询。 (
get_query("CREATE_TAG",["tag" => strtolower("MyTagName")])
将返回
INSERT INTO tags(name) VALUES(LOWER("MyTagName"));
SELECT LAST_INSERT_ID() AS ID;
)
我可以插入然后在同一个查询中选择吗?
修改: 我用过这个:
INSERT INTO tags(name) OUTPUT INSERTED.ID VALUES(LOWER(#[tag]));
它运作得很好。