在mySQL中有效但在PHP中无效的查询


Query that works in mySQL but not in PHP

我有一个包含3个插入和3个更新的查询,它在sql(phpMyAdmin或Navicat等)中运行良好。但当我把它通过PHP时,它会给我一个错误"无效语法"。当我在PHP中中断每个插入并更新为单个查询时,它就起作用了。

我需要它在一个查询中工作,但出于性能考虑,该查询用于大约2mils的数据。我使用mysql。

您不能(也不应该)"在一个查询中"发送多个语句(至少在使用mysql_query()时,我认为这是什么——但您没有给出是否使用PDOmysqli或其他信息)。听起来你需要它们"要么全部执行,要么什么都不执行",但事务就是为了这个目的而发明的。也就是说,清洁的解决方案是:

  1. 使用多个查询
  2. 阅读并使用事务管理

一个mysql_query()中不能有多个SQL语句。