In meiner Anwendung habe ich 35 verschiedene Websites, jede hat eine Website-ID. Auf allen diesen Websites werden auf jeder Website verschiedene Kampagnen ausgeführt (Campaign_id).Neuen Datensatz erstellen, wenn es ein neuer Tag ist, sonst UPDATE ON DUPLICATE KEY
Mein Ziel ist es, die Anzahl der Zugriffe einer Kampagne auf einer Website pro Tag aufzuzeichnen. Ich brauche es, um den Datensatz automatisch zu erstellen, wenn das Datum site_id/campaign_id/today nicht existiert. Wenn es existiert, sollte es nur die Treffer aktualisieren. Ich erzeugen nur zufällig eine Site-ID und Kampagnen-ID zum Beispiel Sake
In diesem Beispiel$site_id = rand(1,99);
$campaign_id = rand(1,99);
mysql_query("INSERT INTO `out` (site_id,campaign_id,hits) VALUES(".$site_id.",".$campaign_id.",1)
WHERE date = '".date('Y-m-d')."'
ON DUPLICATE KEY UPDATE hits=hits+1,
date = '".date('Y-m-d')."'
");
Die oben gibt mir genau das, was ich will, aber das Datumsfeld ist immer 0000-00-00. Ich brauche es, um das heutige Datum zu sein, und die Treffer müssen +1 auf jede Transaktion danach sein. Irgendwelche von euch Leuten mit Großartigkeit haben eine Idee davon, wie man das ändert, um es zum Laufen zu bringen?
Einige Daten können helfen, das Problem zu klären – Strawberry
Das Feld 'date' - ist als automatisches Zeitstempelfeld definiert - in der obigen Sql füllen Sie dieses Feld nicht auf (das sollte mit Backticks im sql btw umkleidet sein) - und ... die mysql-Funktionen sind veraltet, wechseln Sie zu mysqli oder pdo – RamRaider
Welche Art von Daten? site Site_ID ist eine Zufallszahl und ist daher campaign_id. Treffer sind nur Treffer + 1 und das Datum ist das aktuelle Datum. –