Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MYSQL:存储过程,插入一行,然后通过LAST_insert_ID()选择它_Mysql_Stored Procedures_Last Insert Id - Fatal编程技术网

MYSQL:存储过程,插入一行,然后通过LAST_insert_ID()选择它

MYSQL:存储过程,插入一行,然后通过LAST_insert_ID()选择它,mysql,stored-procedures,last-insert-id,Mysql,Stored Procedures,Last Insert Id,我正在尝试进行存储过程调用AddCluster witch正在获取参数“title”和“alt” 案例1: 如果数据库中有“title”,则只返回“old”行 案例2: 如果“标题”不在db中,则 在参数“title”和“alt”上插入一行 然后通过LAST_INSERT_ID()选择新添加的行 问题出在案例2中,它只返回空的 尝试在不指定id的情况下插入: ... ELSE INSERT INTO Cluster ( `create_at`, `

我正在尝试进行存储过程调用AddCluster witch正在获取参数“title”和“alt”

案例1:

如果数据库中有“title”,则只返回“old”行

案例2:

如果“标题”不在db中,则

在参数“title”和“alt”上插入一行

然后通过LAST_INSERT_ID()选择新添加的行

问题出在案例2中,它只返回空的


尝试在不指定id的情况下插入:

...
ELSE
    INSERT INTO Cluster
    (
        `create_at`,
        `title`,
        `alt`
    )
    VALUES
    (
        NOW(),
        in_title,
        in_alt
    );
    /* returns the newly added Cluster */
    ...
确保
Cluster.id
是一个
AUTO\u INCREMENT
列,只有这样,您才能通过
LAST\u INSERT\u id()

获得值,只需稍加更新即可。 我发现了错误。。这是
count(*)

应该是这样的:

SELECT * FROM Cluster WHERE title=in_title

请参阅孔更新存储过程

只需在不指定id的情况下进行尝试。。。AUTO_INCREMENT处于启用状态,但运气不佳:(如果从命令行运行INSERT和SELECT查询,它是否按预期工作?我使用的是MySQL Workbench,但从SQL编辑器中可以对“Cluster”表执行INSERT和SELECT查询…我可以调用ADDCUSTER(),它会在案例1中返回一行,但在案例2中不会返回。。
SELECT count(*) FROM Cluster WHERE title=in_title 
SELECT * FROM Cluster WHERE title=in_title