如果该列没有值,如何将数据插入到该列中?这段代码不会插入任何值,除非我取出if语句。当然,这不是我想要的,因为这意味着每次运行代码时,都会将更多数据插入到“datagroup”列中。
include('dg_config.php');
# select column datagroup from table data
$stmt = $db -> prepare("SELECT datagroup FROM data");
$stmt->execute();
# fetch rows from data
while($row = $stmt->fetch()){
if (empty($row['datagroup'])){
$insertdg = "INSERT INTO data (datagroup)
VALUES ('Data Definitions'),('Policies'),('Systems and Process Documents'),('Purchase Orders'),('Invoices')";
$db ->exec($insertdg);
}
}
P.S dg_config.php 包含用于 MySQL 连接的变量 $db。另外,我的列中没有值,因此更新将不起作用。
期望的输出:
最佳答案
如果您想先检查是否没有记录,然后只插入值,一种快速的方法是判断 fetch()
是否无法检索行,然后执行以下操作插入...
include('dg_config.php');
# select column datagroup from table data
$stmt = $db -> prepare("SELECT datagroup FROM data");
$stmt->execute();
if ( !$stmt->fetch() ){
$insertdg = "INSERT INTO data (datagroup)
VALUES ('Data Definitions'),('Policies'),('Systems and Process Documents'),('Purchase Orders'),('Invoices')";
$db ->exec($insertdg);
}
// re fetch the data
$stmt->execute();
这完全删除了 while()
循环。
关于php - 如果列中没有数据,则将数据插入到列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53413896/