一个老项目,因为不通过设计想我有这实际上应被设置为AUTO_INCREMENT列,但它不能因为它有如下的字母数字条目:通过值1增加字母数字VARCHAR条目?
c01
c02
c03
(C99将继续C100和更多),信过去发生的事情,它需要检修系统把它拿出来,所以我宁可选择这种解决方法。
现在我需要一种方法来模仿auto_increment
功能与SQL语句我自己,我自己尝试尽可能得到如下所示:
INSERT INTO tags (tag_id, tag_name, tag_description, added_by_user_id, creation_date, last_edited) VALUES (SELECT(MAX(tag_id)+1),
'Love', 'All about love', 7, now(), 0);
这一次不一样是工作,但当时的想法是选择列“TAG_ID”最高的条目,然后简单地由价值1
任何想法如何做到这一点增加了吗?
通过我也不能肯定,如果你只是可以增加通过这样的方式的字母数字输入,虽然我知道这是可以做到的方式,我只是不知道怎么办。
你确定所有的身份密钥总是形式为'C## ..'吗? – mellamokb 2012-04-20 22:51:44
你必须去C100或者你可以只是去D01?或者怎么样c9A.c9b,C9C,c9d ......然后CAA驾驶室CAC .. cba..cbb..ccc ...等关键的真的不应该是智能的。他们只需要是独一无二的。 – xQbert 2012-04-20 23:01:48
另一个接近这种方式将是对这一分成两列,并使用'CONCAT(id_char,ID_NUMBER)'的两列,而不只是'SELECT'ing的ID。根据具体情况,这种改变可能不需要太多工作。另外,根据具体情况,这可能会让您拥有一个非常高效的系统。 – Jasper 2012-04-20 23:07:10