php pdo 的随机数据更新失败
Updating with random data fails for php pdo
我正在尝试使用此脚本使用随机生成的数据字段更新我的 table
for($i = 0; $i < 10 ; $i++){
$date = rand(1,30).'/'.rand(1,12).'/'.'15';
$dbh = new PDO('mysql:host=localhost;dbname=qp', 'root', '123456');
$sth2 = $dbh->prepare("update r_data set the_date = '$date' where transaction_type = 'send'");
echo $date.'<br/>';
$sth2->execute();
}
但该字段仅使用一个随机字符串更新,即 18/5/15
,但变量 $date
已生成我想要的随机日期。
为什么不使用随机数据更新日期字段?
您每次都在更新相同的行。循环完成后,您将只能看到数据库中的最后一个 'random' 值,因为之前的所有值都将被替换。
如果您想查看不同行的不同日期,则必须限定要更新的行在循环的每次迭代中都不同。
或者,MySQL 为您插入随机日期:
update r_data set
the_date = DATE '2015-01-01' + INTERVAL FLOOR(RAND() * 365) DAY
where transaction_type = 'send'
这将为每个选定的行插入一个不同的随机日期值;无需循环。
我正在尝试使用此脚本使用随机生成的数据字段更新我的 table
for($i = 0; $i < 10 ; $i++){
$date = rand(1,30).'/'.rand(1,12).'/'.'15';
$dbh = new PDO('mysql:host=localhost;dbname=qp', 'root', '123456');
$sth2 = $dbh->prepare("update r_data set the_date = '$date' where transaction_type = 'send'");
echo $date.'<br/>';
$sth2->execute();
}
但该字段仅使用一个随机字符串更新,即 18/5/15
,但变量 $date
已生成我想要的随机日期。
为什么不使用随机数据更新日期字段?
您每次都在更新相同的行。循环完成后,您将只能看到数据库中的最后一个 'random' 值,因为之前的所有值都将被替换。
如果您想查看不同行的不同日期,则必须限定要更新的行在循环的每次迭代中都不同。
或者,MySQL 为您插入随机日期:
update r_data set
the_date = DATE '2015-01-01' + INTERVAL FLOOR(RAND() * 365) DAY
where transaction_type = 'send'
这将为每个选定的行插入一个不同的随机日期值;无需循环。