SQL语法递增字段时,双排键是重复的

我建立一个应用程序颇为相似jsfiddle.net,处理储蓄和某种分叉。

我有3列的SQL表“URL”:一个给定的保存状态的代码,它的版本(1,2,3等),并在另一个表建立索引保存的状态的ID。 说我有一个保存状态的代码,并希望它叉(创建它的新版本)。 我怎么能告诉MySQL插入具有相同的代码在“URL”行所提供,但使用此代码+ 1版本号等于最后的版本号?

总之,这是一个对重复密钥更新的对立面。 我想的是,在重复键,插入比重复键略有不同。

--------------解决方案-------------

假设一个code '富'和一个的id的1:

INSERT INTO url (code, version, id)
SELECT 'foo', COALESCE(MAX(version) + 1, 1), 1 -- is 'foo' already there?
FROM url
WHERE code = 'foo';

分类:MySQL的 时间:2015-03-15 人气:3
本文关键词: MySQL的
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.968 (s). 10 q(s)