Php 我如何知道mysql中的字段/行何时成功更新?

Php 我如何知道mysql中的字段/行何时成功更新?,php,mysql,database,performance,Php,Mysql,Database,Performance,现在,我已经完成了数据库设置,以便插入新行。但是如果我试图插入的行是重复的(基于我的主键id),那么我会将count字段增加1 现在我想知道我什么时候能够创建一个新行,而不是让它递增计数。我将如何以高效/适当的方式进行此操作 我目前考虑的方法是首先查询id,然后检查它是否存在。但我觉得有一种更快/更好的方法。我也读过关于触发器的文章,但听说它们使用起来不好/有风险。将您的数据库自动递增选项用于您的主ID字段。只有支撑液 这里有mysql引用,但它只存在于每个数据库引擎中: id列上的A如何 否则

现在,我已经完成了数据库设置,以便插入新行。但是如果我试图插入的行是重复的(基于我的主键
id
),那么我会将count字段增加1

现在我想知道我什么时候能够创建一个新行,而不是让它递增计数。我将如何以高效/适当的方式进行此操作


我目前考虑的方法是首先查询
id
,然后检查它是否存在。但我觉得有一种更快/更好的方法。我也读过关于触发器的文章,但听说它们使用起来不好/有风险。

将您的数据库自动递增选项用于您的主ID字段。只有支撑液

这里有mysql引用,但它只存在于每个数据库引擎中:

id列上的A如何


否则,您可能会使用
从表中选择MAX(id)
来检索最高的id并向其中添加一个,但这不是线程安全的,因为其他用户可能会同时执行相同的插入。自动增量为您解决了这个问题。

PHP的使用
插入。。。在重复密钥更新时…

然后查询受影响的_行(如@Tarek Fadel建议的)。如果插入了行,MySQL将返回1;如果更新了现有行,MySQL将返回2。

数据库设置示例将帮助很多人,但可能会说明明显的问题,您不能只使用php的if(MySQL\u query…),如果插入成功,返回int true;如果插入失败,返回false