Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.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
php函数last_insert_id()不能与REPLACE INTO查询一起使用_Php_Mysql_Lastinsertid - Fatal编程技术网

php函数last_insert_id()不能与REPLACE INTO查询一起使用

php函数last_insert_id()不能与REPLACE INTO查询一起使用,php,mysql,lastinsertid,Php,Mysql,Lastinsertid,我使用REPLACE INTO query插入到表中,但在使用mysql_query()函数执行查询之后,如果我使用last_insert_id(),它只给我0值 为什么会这样?我怎样才能克服这种行为 :Pankaj替换为似乎不会影响通过最后一次插入id()获得的值 从这一点来看,这似乎是预期的行为: 替换为似乎不会影响通过最后一次插入id()获得的值 从这一点来看,这似乎是预期的行为: 您可以尝试使用插入到。。。而是在重复密钥更新时。它完成与替换为相同的任务,但只需一个服务器端操作

我使用REPLACE INTO query插入到表中,但在使用mysql_query()函数执行查询之后,如果我使用last_insert_id(),它只给我0值

为什么会这样?我怎样才能克服这种行为


:Pankaj

替换为
似乎不会影响通过
最后一次插入id()
获得的值

从这一点来看,这似乎是预期的行为:


替换为
似乎不会影响通过
最后一次插入id()获得的值

从这一点来看,这似乎是预期的行为:


您可以尝试使用
插入到。。。而是在重复密钥更新时
。它完成与
替换为
相同的任务,但只需一个服务器端操作<代码>替换为
可能会导致两个操作:删除旧操作,插入新操作


但不管查询类型如何,您都必须确保表的主键是一个
auto_increment
字段。最后一次插入\u id()否则无法正常工作。

您可以尝试使用
插入到。。。而是在重复密钥更新时
。它完成与
替换为
相同的任务,但只需一个服务器端操作<代码>替换为
可能会导致两个操作:删除旧操作,插入新操作


但不管查询类型如何,您都必须确保表的主键是一个
auto_increment
字段。否则,最后一个插入id()将无法正常工作。

如果指定自动增量字段的值(即关闭魔术;-),则适用该选项。您的查询是这样的吗,PankajK?如果您指定自动递增字段的值(即关闭magic;-),则适用于此。PankajK,你的问题就是这样吗?