如果该列没有值,如何将数据插入该列?除非我取出if语句,否则这段代码不会插入任何值。当然,这不是我想要的,因为这意味着每次运行代码时,都会在“数据组”列中插入更多数据。
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);
}
}
PS dg_config.php 包含用于MySQL连接的变量$ db。另外,我在该列中没有值,因此UPDATE无法正常工作。
所需的输出:
答案 0 :(得分:0)
如果要先检查是否没有记录,然后仅插入值,那么一种快速的方法是说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()
循环。