繁体   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