NullAhnung
Aktives Mitglied
View_1
CODE CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`%` SQL SECURITY DEFINER VIEW `db`.`View_1` AS
SELECT `match_qid`, `match_fid`, `tabelle1`.`language_ID`
FROM `tabelle2`
LEFT JOIN `tabelle1` ON `tabelle1`.`to_fid` = `tabelle2`.`match_fid`
ORDER BY `match_qid`
das steht in dieser View drin:
QUOTE match_qid match_fid language_ID
49 8 1
49 41 1
53 41 1
53 115 1
53 115 2
in der tabelle1 stehen diese Daten drin...
QUOTE to_fid language_ID
8 1
41 1
115 1
115 2
so nun möchte ich in die tabelle1 neue datensätze hinzufügen, die identisch sind nur eine neue language_ID bekommen
nehmen wir an.. $_SESSION['qid'] = 53 und $_SESSION['defaultLanguage']=1
also hol ich die entsprechenden Datensätze raus aus View_1 ändere die language_ID in $lid ($lid=2) und schreibe diese wieder rein...
CODE <?
$query = "SELECT match_qid, match_fid, language_ID
FROM View_1
WHERE match_qid = '".$_SESSION['qid']."' AND language_ID = '".$_SESSION['language_ID']."'
";
$ergebnis = mysql_query($query)OR die("Error: $query <br>".mysql_error());
while($row = mysql_fetch_object($ergebnis))
{
$row->language_ID=$lid;
mysql_select_db('db');
$into = "INSERT INTO tabelle1
SET to_fid = '".$row->match_fid."',
language_ID = '".$lid."'
";
$res = mysql_query($into)OR die("Error: $into <br>".mysql_error());
}
?>
wenn ich das mache, dann habe ich folgenden Inhalt in View_1
QUOTE match_qid match_fid language_ID
49 8 1
49 41 1
53 41 1
53 115 1
53 115 2
53 115 2
53 41 2
nur leider ist ein doppelter 53 115 2 drin... und ich weiß nicht wie ich es machen kann, dass vorher abgeprüft wird, ob so ein datensatz schon da ist...
in diesem fall dürfte nur 41 und 2 eingetragen werden
CODE CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`%` SQL SECURITY DEFINER VIEW `db`.`View_1` AS
SELECT `match_qid`, `match_fid`, `tabelle1`.`language_ID`
FROM `tabelle2`
LEFT JOIN `tabelle1` ON `tabelle1`.`to_fid` = `tabelle2`.`match_fid`
ORDER BY `match_qid`
das steht in dieser View drin:
QUOTE match_qid match_fid language_ID
49 8 1
49 41 1
53 41 1
53 115 1
53 115 2
in der tabelle1 stehen diese Daten drin...
QUOTE to_fid language_ID
8 1
41 1
115 1
115 2
so nun möchte ich in die tabelle1 neue datensätze hinzufügen, die identisch sind nur eine neue language_ID bekommen
nehmen wir an.. $_SESSION['qid'] = 53 und $_SESSION['defaultLanguage']=1
also hol ich die entsprechenden Datensätze raus aus View_1 ändere die language_ID in $lid ($lid=2) und schreibe diese wieder rein...
CODE <?
$query = "SELECT match_qid, match_fid, language_ID
FROM View_1
WHERE match_qid = '".$_SESSION['qid']."' AND language_ID = '".$_SESSION['language_ID']."'
";
$ergebnis = mysql_query($query)OR die("Error: $query <br>".mysql_error());
while($row = mysql_fetch_object($ergebnis))
{
$row->language_ID=$lid;
mysql_select_db('db');
$into = "INSERT INTO tabelle1
SET to_fid = '".$row->match_fid."',
language_ID = '".$lid."'
";
$res = mysql_query($into)OR die("Error: $into <br>".mysql_error());
}
?>
wenn ich das mache, dann habe ich folgenden Inhalt in View_1
QUOTE match_qid match_fid language_ID
49 8 1
49 41 1
53 41 1
53 115 1
53 115 2
53 115 2
53 41 2
nur leider ist ein doppelter 53 115 2 drin... und ich weiß nicht wie ich es machen kann, dass vorher abgeprüft wird, ob so ein datensatz schon da ist...
in diesem fall dürfte nur 41 und 2 eingetragen werden