Php 更新或插入,在sql中自动递增int

Php 更新或插入,在sql中自动递增int,php,mysql,sql,increment,Php,Mysql,Sql,Increment,我正在尝试自动递增(更新)或在MySQL数据库中插入数据,因此每次请求PHP文件时,它都应该更新使用或插入设备ID并使用,这段代码工作得很好,但我如何做到它每次递增使用?我希望你能理解我的问题 $sql = "INSERT INTO user (`deviceid`, `uses`) VALUES ('$DeviceID', $Uses) ON DUPLICATE KEY UPDATE `uses` = '$Uses'"; 您想让MySQL管理对字段的更改,如下代码所示: $sql = "I

我正在尝试自动递增(更新)或在MySQL数据库中插入数据,因此每次请求PHP文件时,它都应该更新使用插入设备ID并使用,这段代码工作得很好,但我如何做到它每次递增使用?我希望你能理解我的问题

$sql = "INSERT INTO user (`deviceid`, `uses`) VALUES ('$DeviceID', $Uses)
ON DUPLICATE KEY UPDATE `uses` = '$Uses'"; 

您想让MySQL管理对字段的更改,如下代码所示:

$sql = "INSERT INTO user (`deviceid`, `uses`) VALUES ('$DeviceID', 1)
ON DUPLICATE KEY UPDATE `uses` = `uses` + 1"; 

注意:我从语句中删除了
$Uses
,这没有任何意义。如果是第一次插入,则应为1。如果它存在,它将由MySQL设置。

您想让MySQL管理对字段的更改,如下代码所示:

$sql = "INSERT INTO user (`deviceid`, `uses`) VALUES ('$DeviceID', 1)
ON DUPLICATE KEY UPDATE `uses` = `uses` + 1"; 

注意:我从语句中删除了
$Uses
,这没有任何意义。如果是第一次插入,则应为1。如果存在,将由MySQL设置。

$uses++或$uses+1@doug这在SQL中不起作用。为了您的缘故,我希望这里的所有值都是。$uses++或$uses+1@doug这在SQL中不起作用。为了您的缘故,我希望这里的所有值都是。我不得不在“uses+1”中将引号从“to”改为“to”,但我认为我的编辑被拒绝了,否则我会得到这个错误:“字段列表”中的未知列“uses+1”应该是:`uses`=` uses`+1谢谢,现在它可以工作了,但是有没有办法避免表id(不是设备id)是这样的?1, 13, 20, 33. 因此,每次我更新某些内容时,它都会增加自动增量idI。我认为防止您的ID增加的唯一方法是将检查逻辑移动到您的应用程序中,即
SELECT deviceid..
首先检查结果,然后
INSERT
update
,视情况而定。(并删除重复键上的
部分),我不得不将“uses+1”中的引号从“to”改为“to”,但我认为我的编辑被拒绝了,否则我会得到这个错误:“field list”中的未知列“uses+1”应该是:`uses`=` uses`+1谢谢,现在它可以工作了,但是有没有办法避免表id(而不是设备id)的出现你是这样的吗?1, 13, 20, 33. 因此,每次我更新某些内容时,它都会增加自动增量idI。我认为防止您的ID增加的唯一方法是将检查逻辑移动到您的应用程序中,即
SELECT deviceid..
首先检查结果,然后
INSERT
update
,视情况而定。(并拆下重复钥匙上的
零件)