如果我想在MySQL中定義自定義列格式,該怎麼辦?我想要的自定義格式始終是一個2位整數,後跟#號,然後是一個空格,然後是小數點後的兩位數的十進制數。允許值的例子是這樣的:那些不允許如何執行自定義MySQL列格式
30# 11.00
27# 17.25
40# 17.25
值是這樣的:
30# 11
40# 20.5
some string
這是可能在MySQL?如果是這樣,關於如何做的提示?
謝謝!
如果我想在MySQL中定義自定義列格式,該怎麼辦?我想要的自定義格式始終是一個2位整數,後跟#號,然後是一個空格,然後是小數點後的兩位數的十進制數。允許值的例子是這樣的:那些不允許如何執行自定義MySQL列格式
30# 11.00
27# 17.25
40# 17.25
值是這樣的:
30# 11
40# 20.5
some string
這是可能在MySQL?如果是這樣,關於如何做的提示?
謝謝!
很好,因爲「CHECK子句已解析但被所有存儲引擎忽略。」在mysql中,你唯一剩下的選擇是在你的表上添加一個插入/更新觸發器到regexp你的輸入並繼續。
是的,我希望不必做觸發器,但我認爲你可能是正確的,它是唯一的方法來做到這一點。 –
是的觸發器只能用於最絕望的時刻。也許你的應用程序可以在應用層執行這些檢查嗎? – Sebas
目前,觸發器是在MySQL中執行此操作的唯一方法。 – spencer7593
那麼,你總是可以做到這一點,這是一個簡單的方法,這將是一個關係到'id int float(4,2)':) –
使用該列作爲'varchar' –
現在我使用varchar ,當然,但我想強制執行這種自定義格式。如果您試圖插入一個不是所需格式的值,那麼數據庫應該會返回一個錯誤,但不能保存它。 –