簡體   English   中英

如何使用默認約束為 mysql 中的列創建隨機數?

[英]How to create random number for a column in mysql with DEFAULT Constraint?

DEFAULT 約束在接受字符串或當前日期值時沒有問題。 我需要的是一個約束,它會在每次創建實體時創建一個隨機的 4 位數字。 我嘗試了以下代碼,但它返回語法錯誤。

ALTER TABLE client_number ADD(代碼 INT(4)默認樓層(RAND()* 9999)+ 1111);

上面的語句返回以下錯誤:

需要解決方案。

這個評論太長了。

文檔很清楚:

數據類型規范中的DEFAULT值子句指示列的默認值。 除了一個例外,默認值必須是常量; 它不能是一個功能或表達。

你擁有的表達式不是常數,所以它不起作用。 您需要使用觸發器。

運行以下查詢

ALTER TABLE table_name ADD field_name INT(4) NOT NULL DEFAULT (rand() * (9999 - 1000) + 1000) AFTER some_feild ;

結果給出一個1000-9999之間的隨機數在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM