首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新记录,而不将id增加一个

更新记录,而不将id增加一个
EN

Stack Overflow用户
提问于 2015-07-17 17:26:52
回答 2查看 158关注 0票数 1

当新请求的mac地址在总线表中可用时,我正在尝试更新总线表中的记录,每次更新该行时不增加id,但在总线表中无法使用时应该是这样。另外,是否有可能更新记录而不将id增量为一个?

我很感谢你的帮助。

mysql代码:

代码语言:javascript
复制
                        CREATE TABLE IF NOT EXISTS bus
                        (id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
                        mac VARCHAR(30) NOT NULL UNIQUE,
                        route int(11) NOT NULL,
                        direction VARCHAR(30) NOT NULL, 
                        latitude FLOAT(10,6) NOT NULL,
                        longitude FLOAT(10,6) NOT NULL,
                        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP)



REPLACE INTO bus(route, direction, latitude, longitude, created_at)
VALUES( ?, ? , ? ,?, now()  )
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-17 17:40:11

替换是对SQL标准的MySQL扩展。它要么插入,要么删除和插入。请参阅https://dev.mysql.com/doc/refman/5.0/en/replace.html

因此,您总是插入一个新行,这就是您得到id增量的原因。

您可以使用更新来实现您想要的结果。

票数 1
EN

Stack Overflow用户

发布于 2015-07-17 18:12:45

代码语言:javascript
复制
UPDATE BUS
SET ROUTE = value, DIRECTION = value, LATITUDE = value, LONGITUDE = value, CREATED_AT = NOW()
WHERE {CONDITION}

去掉卷发括号。

您需要在WHERE语句之后确切地指定应该更新的行(或行),例如,如果我想用id 14更新该行,我将使用:

代码语言:javascript
复制
WHERE ID = 14

干杯

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31481435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档