我有一个由几个具有不同数据类型的字段组成的表。 我的任务是创建一个用随机数据填充此表的PHP脚本。我的脚本将包含循环MySQL查询。我知道如何创建查询以生成随机日期,整数和字符串。
我有一个使用 ENUM 数据类型的列,其中包含4个值('已接受','有错误','已完成','失败')。
我需要知道如何生成一个允许我用随机值填写ENUM字段的查询。
如果有人帮忙,我会非常欣赏。
P.S。如果我的问题太愚蠢或不够清楚,我为此道歉。
由于
答案 0 :(得分:2)
将所有枚举值作为常量放在如下的类中:
<?php
class Status{
const ACCEPTED= "accepted";
const WITH_ERRORS= "with errore";
const DONE= "done";
const FAILED='failed';
}
$ref = new ReflectionClass('Status');
$statuses = $ref->getConstants();
print_r(statuses );
这应输出:
Array
(
['ACCEPTED'] => accepted
['WITH_ERRORS'] => with errors
['DONE'] => done
['FAILED']=> failed
)
然后从$statuses
数组中选择一个随机元素,使用array_rand()
echo $statuses[array_rand($statuses)];
当然你可以直接将状态添加到数组中并在其上使用array_rand()
而不是使用常量定义整个类,但恕我直言,从长远来看这不是一个好方法。