我有一個分類表。
我有這樣在mysql中使用3個字符長度的大寫字符串更新列
id | name | symbol
1 | Feeders | FEE
2 | Ovens |
3 | Routers |
記錄我在這個表中多條記錄。我想更新帶類別名稱的符號字段,就像這樣獲取類別名稱,提取3個隨機字符(必須按順序並且始終選擇帶有2個隨機字符的第一個字符),然後將它們轉換爲大寫並應用更新。我怎樣才能做到這一點。
例如,我想烤箱更新OVE或OVN或OVS或OEN或OES等
我如何在一個查詢中做到這一點。
這是我曾嘗試,但它有時也帶來了1個字符有時2,有時3
UPDATE category
SET symbol = (select
upper(SUBSTRING(name, 1+ FLOOR(RAND()*LENGTH(name)),3))
from default_category
where category_id = 2)
where category_id = 2
請編輯您的帖子以包含您的解決方案。謝謝。 – bernie 2013-02-21 19:08:53
@bernie我已經更新了這個問題,你能建議我失蹤了嗎? – 2013-02-21 19:25:02
隨機選擇是否也必須是唯一的?例如:如果您有RouteLists作爲名稱,並且隨機選擇ROT作爲路由器,ROT也會被選爲喧賓奪主?如果它們必須是獨一無二的,那麼在新的獨特符號不能被雕刻的情況下,你想要發生什麼? – xQbert 2013-02-21 19:25:48