我必须使用这些变量在PgSQL表中插入几个值
$knr = $reader->getAttribute('Nr');
$kname = $reader->getAttribute('Name');
这个插入代码:
$SQL = "";
$SQL .= "SELECT
(konzern).knr AS knr, (konzern).name AS name
FROM konzern";
$SQL .= "INSERT INTO konzern (";
$SQL .= "knr, name";
$SQL .= ") VALUES (";
$SQL .= "'".$knr."', '".$kname."'";
$SQL .= ");".PHP_EOL;
我想检查表“Konzern”是否已经有$ knr的行,如果是,它应该插入到此,如果不是它应该创建一个新行
$query = doQuery("select nr from konzern where knr = '".$knr."'");
$num_rows = ($query->num_rows);
if ($num_rows > 0) {
// do nothing
}
else {
$sql .= "select nextval('konzern_nr_seq')";
}
但是我有一些问题,这是正确的顺序。 有人可以填写此代码吗?
答案 0 :(得分:1)
您可以通过以下方式使用单个查询执行此操作:
INSERT INTO konzern SELECT val1, val2
WHERE NOT EXISTS(
SELECT nr from konzern where knr = 'var1'
)
实施这种方法会更加向前发展。
并且记得使用查询参数而不是连接查询文本,以避免SQL注入。