SQLSTATE[42S02]: Base table or view not found: 1146 Table *** doesn't exist


#1

Hallo,

habe kürzlich in meiner Datenbank etwas gelöscht, dabei wohl aus Versehen auch die eine Tabelle.:frowning:
Nun bekomme ich in Piwik - unter Graph der letzten Besuche - immer folgende Meldung:

SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘usr_***_1.piwik_archive_numeric_2015_03’ doesn’t exist

Ich traue mich die Tabelle per phpmyadmin direkt anzulegen;), wenn sie auch leer bleibt, nur weiß ich nicht was ich bei Spalte, Typ, Attribute, Index usw. eintragen muss damit diese Tabelle genau so ist wie die anderen.:sunglasses:

Wenn mir jemand den SQL-Befehl gibt würde ich auch diesen verwenden…

Danke!:slight_smile:


(Stefan Giehl) #2

Das ist eine der Archiv-Tabellen von Piwik. Diese werden von Piwik automatisch generiert wenn sie nicht existieren.
Lösche auch die Tabelle piwik_archive_blob_2015_03
Danach sollte Piwik merken dass diese fehlen und Sie neu anlegen…


#3

Die piwik_archive_blob_2015_03 ist auch garnicht vorhanden.

Leider funktioniert seit dem Piwik eben nicht mehr wie es soll.:frowning:
Fehlermeldung steht ja oben.


#4

Brauche immer noch Hilfe!:sunglasses:


#5

Will oder kann mir (wirklich) keiner helfen?:S
Kann ich fast nicht glauben!:sunglasses:
Verlieren möchte ich nichts, sonst würde ich Piwik neu installieren.


(Stefan Giehl) #6

Welche Version von Piwik hast du denn im Einsatz?
Evtl. hilft es schon Piwik zu aktualisieren


#7

Aktualisieren (manuell) half nichts!
Ich habe die aktuelle Version im Einsatz.

Es kann doch, für jeamnden der sich damit auskennt, nicht so schwierig sein mir zu helfen.:X
Was ist denn mit dem Piwik-Team?!:S http://www.cool-smileys.com/images/army11.gif
Wollt ihr verärgerte User?!::o

Ich kann Piwik nicht komplett neu aufsetzen da mir dann die alten Daten verloren gehen!:sunglasses:


(Stefan Giehl) #8

Natürlich wollen wir keine verärgerten User. Allerdings können wir auch nicht jeden Fehler sofort lösen, der bei einzelnen Benutzern auftritt.

Wie bereits geschrieben legt Piwik die Tabellen automatisch an, wenn keine mit dem entsprechenden Datum existiert (weder numeric noch blob).

Falls dies nicht funktioniert kannst du auch versuchen die Tabelle manuell anzulegen.
Die archive Tabellen haben alle das selbe Schema, nur einen anderen Namen. Also kannst du das Schema von einer bereits bestehenden übernehmen.


#9

Was habe ich denn in meinem 1. Posting geschrieben?!:sunglasses:
Dafür benötige ich den SQL-Befehl, den ich leider nicht kenne.:frowning:

Habe es auch schon mauell probiert diese Tabellen anzulegen, klappte aber leider nicht.


(Stefan Giehl) #10

CREATE TABLE IF NOT EXISTS `piwik_archive_blob_2015_03` (
  `idarchive` int(10) unsigned NOT NULL,
  `name` varchar(255) NOT NULL,
  `idsite` int(10) unsigned DEFAULT NULL,
  `date1` date DEFAULT NULL,
  `date2` date DEFAULT NULL,
  `period` tinyint(3) unsigned DEFAULT NULL,
  `ts_archived` datetime DEFAULT NULL,
  `value` mediumblob,
  PRIMARY KEY (`idarchive`,`name`),
  KEY `index_period_archived` (`period`,`ts_archived`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

bzw.


CREATE TABLE IF NOT EXISTS `piwik_archive_numeric_2015_03` (
  `idarchive` int(10) unsigned NOT NULL,
  `name` varchar(255) NOT NULL,
  `idsite` int(10) unsigned DEFAULT NULL,
  `date1` date DEFAULT NULL,
  `date2` date DEFAULT NULL,
  `period` tinyint(3) unsigned DEFAULT NULL,
  `ts_archived` datetime DEFAULT NULL,
  `value` double DEFAULT NULL,
  PRIMARY KEY (`idarchive`,`name`),
  KEY `index_idsite_dates_period` (`idsite`,`date1`,`date2`,`period`,`ts_archived`),
  KEY `index_period_archived` (`period`,`ts_archived`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


#11

Danke :), ich bin leider noch nicht so bewandert… habe mehrere DB’s, eine davon in der nur Piwik liegt.
Diese habe ich per phymyadmin aufgerufen und dann auf SQL geklickt.
Nachdem ich dann den 1. Befehl eingebe bekomme ich folgende Fehlermeldung:

#1146 - Table ‘usr_webxxx_1.piwik_archive_blob_2015_03’ doesn’t exist

Wird mit dem 2.ten dann nicht viel anders sein.


(Stefan Giehl) #12

Wundert mich warum hier der Fehler auftritt, dass die Tabelle nicht existiert, da der Befehl diese eigentlich anlegen sollte.
Versuch mal das ‘IF NOT EXISTS’ rauszulassen…


#13

Bringt leider denselben Fehler.:frowning:

Edit:
Jetzt müsste ich es dann doch nochmal händisch probieren.
Allerdings weiß ich, trotz das ich mir den SQL-Code angeschaut habe, nicht wo ich z.B. einen Haken setzen muss und wo nicht.:S

Edit-2:
Habe mir einfach mal eine andere blob angeschaut und die quasi als Vorlage verwendet und nochmal manuell probiert, bekomme aber dann folgenden Fehler:

[quote="#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘BINARY NULL DEFAULT NULL) ENGINE = InnoDB’ at line 1"][/quote]

Edit-3:
Das Bild zeigt (leider nicht alles) in etwa wie ich die Tabelle piwik_archive_blob_2015_03 anlegen wollte.

Edit-4:
Selbst nur die Struktur (per phpmyadmin-Oberfläche -> Operationen) der Tabelle zu kopieren, schlug fehl!


 CREATE TABLE `usr_webxxx`.`piwik_archive_blob_2015_03` (
`idarchive` int( 10 ) unsigned NOT NULL ,
`name` varchar( 255 ) NOT NULL ,
`idsite` int( 10 ) unsigned DEFAULT NULL ,
`date1` date DEFAULT NULL ,
`date2` date DEFAULT NULL ,
`period` tinyint( 3 ) unsigned DEFAULT NULL ,
`ts_archived` datetime DEFAULT NULL ,
`value` mediumblob,
PRIMARY KEY ( `idarchive` , `name` ) ,
KEY `index_period_archived` ( `period` , `ts_archived` )
) ENGINE = InnoDB DEFAULT CHARSET = utf8

MySQL meldet: Dokumentation
#1146 - Table 'usr_webxxx.piwik_archive_blob_2015_03' doesn't exist 


(Stefan Giehl) #14

Ich würde vermuten dass hier irgendwas mit der Datenbank nicht stimmt.
Hast du die Möglichkeit diese mal neu zu starten, oder auf Console ein mysqlcheck auszuführen.


#15

Da mir keine Möglichkeit zur Überprüfung der Datenbank zur Verfügung steht habe ich den Hoster kontaktiert der diese Überprüfung durchgeführt hat.
Das Ergebnis: Die Datenbank ist ok (habe den Auszug der Prüfung erhalten).
Leider konnte auch der Hoster die Tabellen nicht wiederherstellen/anlegen!::o


(Stefan Giehl) #16

Hast du mehr als nur eine Datenbank zur Verfügung?
Falls ja, versuch mal die Tabelle in einer anderen Datenbank anzulegen.
Sollte das funktionieren, würde ich die vorschlagen Piwik in eine andere Datenbank umzuziehen. D.h. alle Tabellen dorthin kopieren und die Piwik -Konfiguration anpassen.


#17

Du bist Spitze! :smiley:
Ja, ich habe mehr als eine Datenbank und habe deinen Tip probiert, hat funktioniert!:wink:

Habe jetzt ein Backup der DB angelegt und probiert in die andere wieder einzuspielen.
Leider ist das Backup größer als die “Maximale Dateigröße” die phpmyadmin anzeigt.
Also habe ich beim Exportieren die “erweiterten Einstellungen” benutzt und komprimiert (GZip).
Das hat dann auch geklappt!:wink:

config.ini.php angepasst…
Jetzt wird mir der Graph auch wieder angezeigt.X(

Meinst du ich kann die “alte” DB noch für was anderes verwenden?:S

Vll. kopiere ich die Daten doch alle in die “alte”…B)-