一個老項目,因爲不通過設計想我有這實際上應被設置爲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