mysql - 关于重复 key 更新...如何更新自动增量?

标签 mysql sql

CREATE TABLE `feeds` (
 `FEED_ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
 `P_ID` bigint(20) NOT NULL,
 `P_NAME` varchar(100) NOT NULL,
 PRIMARY KEY (`P_ID`),
 UNIQUE KEY `FEED_ID` (`FEED_ID`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8

::

INSERT INTO `table_a` (`P_ID`,`P_NAME`) VALUES ('30','John') 
ON DUPLICATE KEY UPDATE `P_ID`= VALUES(`P_ID`),`P_NAME`= VALUES(`P_NAME`);

我想使用 INSERT..ON DUPLICATE KEY UPDATE 每当我创建该插入时,我都希望 FEED_ID 自动递增。 至于现在它保持不变,因为没有新行插入...

我应该删除然后插入吗?

最佳答案

您似乎正在寻找 REPLACE而不是INSERT ... ON DUPLICATE KEY;如果存在主键或唯一键冲突的行,它将删除旧行,并插入具有新 FEED_ID 的新行;

REPLACE INTO feeds (p_id,p_name) VALUES (1,'Olle');

An SQLfiddle to test with .

关于mysql - 关于重复 key 更新...如何更新自动增量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17318542/

相关文章:

带连接的 Mysql 查询

mysql - 如何在sql数据库中创建具有相同值和结构的列

mysql - 如何修改此查询以添加一个新字段,其中包含原始记录总数的子集的字段的最大值?

php - 我如何将 if 放入 mysql 代码中?

php - 将单选按钮值插入 mysql

php - 如何使用 PHP 从表中检索单行?

php - 将下拉列表存储在mysql数据库中

mysql - 下面的 MySql 查询有什么问题?

sql - 多次内连接同一张表

mysql - 针对给定情况的最佳数据库模式结构策略