如何在mysql中创建带有默认约束的列的随机数?

x7yiwoj4  于 2023-01-29  发布在  Mysql
关注(0)|答案(2)|浏览(193)

DEFAULT约束在接受字符串或当前日期值方面没有问题。我需要的是一个约束,它将在每次创建实体时创建一个随机的4位数。我尝试了以下代码,但它返回语法错误。

    • 更改表客户编号ADD(代码INT(4)默认下限(RAND()* 9999)+1111);**

上述语句返回以下错误:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'floor(rand()*9999)+1111)' at line 1
需要解决方案。

x9ybnkn6

x9ybnkn61#

documentation非常清楚:
数据类型规范中的DEFAULT value子句指示列的默认值。除了一个例外,默认值必须是常量;它不能是函数或表达式。
你的表达式不是常量,所以不起作用。你需要使用触发器。

7gcisfzg

7gcisfzg2#

运行以下查询
修改表格table_namesome_feild之后添加field_name整数(4)非空默认值(rand()*(9999 - 1000)+ 1000);
结果给出一个介于1000-9999 x1c 0d1x之间的随机数

相关问题