Warning: #1287 'VALUES function' ist veraltet

  • Hallo miteinander,

    nach Import einer CSV-Datei (die sich lokal auf meinem Rechner befindet) per phpMyAdmin (via Tab "Importieren") in die Datenbank zu meinem Webhosting bekomme ich zahlreich diese Fehlermeldung:


    Code
    Warning: #1287 'VALUES function' ist veraltet. Bitte benutzen Sie 'an alias (INSERT INTO ... VALUES (...) AS alias) and replace VALUES(col) in the ON DUPLICATE KEY UPDATE clause with alias.col'


    Kann mir bitte jemand sagen, wie ich damit umgehen soll bzw. was zu tun ist, damit solche Fehler nicht auftreten?


    Wenn ich das richtig verstehe, habe ich doch gar keine Möglichkeit, diesbezüglich eine Änderung vorzunehmen im phpMyAdmin, wenn ich den Tab "Importieren" nutze, oder?


    Dankeschön


    P.S.: Im www habe ich schon recherchiert, aber nichts gefunden, was ich wirklich verstehe.

    Früher war mehr Lametta!

    Edited once, last by Batmin ().

  • Noch eine Ergänzung, das hier war prinzipiell das zugehörige MySQL-Statement vom phpMyAdmin nach dem Import:


    SQL
    INSERT INTO `##_tabelle` VALUES ('id', 'anton', 'berta', 'caesar', 'dora') ON DUPLICATE KEY UPDATE `id` = VALUES(`id`), `anton` = VALUES(`anton`), `berta` = VALUES(`berta`), `caesar` = VALUES(`caesar`), `dora` = VALUES(`dora`);
  • SQL
    INSERT INTO `##_tabelle` VALUES ('id', 'anton', 'berta', 'caesar', 'dora') ON DUPLICATE KEY UPDATE `id` = VALUES(`id`), `anton` = VALUES(`anton`), `berta` = VALUES(`berta`), `caesar` = VALUES(`caesar`), `dora` = VALUES(`dora`);

    So sollte es soweit mir bekannt ist eigentlich aussehen, mit deinen Daten:


    SQL
    INSERT INTO `##_tabelle` (`id`, `anton`, `berta`, `caesar`, `dora`)
    VALUES ('id', 'anton', 'berta', 'caesar', 'dora') AS new_values
    ON DUPLICATE KEY UPDATE `id` = new_values.`id`, `anton` = new_values.`anton`, `berta` = new_values.`berta`, `caesar` = new_values.`caesar`, `dora` = new_values.`dora`;


    Was ich dir persönlich empfehlen würde, wäre die CSV Datei in SQL umzuwandeln.
    Es gibt einige Anbieter dafür, natürlich darauf achten, dass keine Sensiblen Infos dabei sind & falls doch, dies möglichst Lokal umwandeln.
    Dafür gibt es bsp. SQLiteStudio

    Dort eine DB Erstellen, die CSV Einfügen, schauen ob alles passt und als SQL Exportieren.
    Für eine genauere Anleitung kannst dich gerne melden :)

    [RS] 2x 1000 G9.5

    [VPS] 1000 G10 SE VIE RG23 | 3x nano G11s | 3x mikro G11s | 1000 ARM G11 VIE | 1000 G11 NUE

    [WH] 4000 SE

  • Großes Dankeschön Dir, nh1997, für Deine Rückmeldung und Deine guten Erläuterungen und Tipps dazu.


    Ich glaube, ich habe das sogar verstanden. Werde ich mir aber erstmal noch in Ruhe zu Gemüte führen.

    Schönen Abend Dir noch und gute Woche dann!

    nh1

  • Was mich noch irritiert (wohl mangels Kenntnis), ist, dass ja das o. g. SQL-Statement, welches das phpMyAdmin bzw. MySQL mit dieser Fehlermeldung (#1287) bemängelt, zuvor vom phpMyAdmin bzw. MySQL selber generiert wurde. ?(

  • Was mich noch irritiert (wohl mangels Kenntnis), ist, dass ja das o. g. SQL-Statement, welches das phpMyAdmin bzw. MySQL mit dieser Fehlermeldung (#1287) bemängelt, zuvor vom phpMyAdmin bzw. MySQL selber generiert wurde. ?(

    Grundsätzlich, würde ich dir empfehlen immer .sql aus phpMyAdmin zu Exportieren, habe dies immer so Exportiert und nie Probleme gehabt und falls es mal Probleme gab, konnte ich diese mit Notepad bearbeiten und anpassen, auch wenn es bei sehr Großen Datenbanken mit mehreren GB schwierig wird.
    CSV sehe ich das Problem der Kodierung, denn es ist für mich einfach ein Tabellenformat und keine "Textdatei" wie .sql in der man die Befehle sieht und ggf. anpassen kann. :)

    Wünsche dir auch einen schönen Start in die Woche und einen schönen Abend, sowie Viel Glück beim Migrieren :D

    [RS] 2x 1000 G9.5

    [VPS] 1000 G10 SE VIE RG23 | 3x nano G11s | 3x mikro G11s | 1000 ARM G11 VIE | 1000 G11 NUE

    [WH] 4000 SE

  • Danke abermals!

    Quote

    Grundsätzlich, würde ich dir empfehlen immer .sql aus phpMyAdmin zu Exportieren

    Gilt das auch für's Importieren (was ja mein Anliegen ist)?


    Also, wenn ich Dich richtig verstehe:

    a) Exportieren als .sql, dann

    b) die Daten in der .sql bearbeiten und dann

    c) die .sql wieder importieren?


    Habe noch keine Erfahrung, sql-Dateien manuell (und korrekt) zu bearbeiten (z. B. per n++). Ich befürchte, dass ich da bei der Datenmenge, die ich im Laufe der Zeit erstellen möchte (ca. 3000 Datensätze mit jeweils ca. 45 Spalten) schnell den Überblick verliere.


    Bislang mache ich den Aufbau dieser Daten in Excel, daher meine bisherigen Vorgehensweise (bei meinen jetzigen Testversuchen) mit CSV-Daten.

    Früher war mehr Lametta!

    Edited once, last by Batmin ().

  • Sorry, meine letzte Frage war zu voreilig gestellt.

    Schließlich hast Du mir zuvor ja bereits Infos an die Hand gegeben, dass klar ist, dass ich

    • die Daten ja weiter in Excel aufbauen kann,
    • dann Speichern als CSV (UTF-8),
    • dann Umwandlung in .sql,
    • dann Import der .sql ins MySQL per phpMyAdmin.

    P.S.: Zur Sicherheit öffne ich übrigens die mit Excel abgespeicherte CSV (mit UTF-8) danach zur Sicherheit noch in n++ und klicke dort noch im Menü "Kodierung" die Option "Konvertierung zu UTF-8" an.

  • Um die ursprüngliche Frage zu beantworten: Das ist eine Warnung, kein Fehler. PhpMyAdmin erzeugt SQL, das eine Funktion verwendet, die in einer zukünftigen MySQL-Version entfernt wird, aber noch so existiert und funktioniert wie bisher. Bis die Funktion entfernt wird, hat PhpMyAdmin hoffentlich ein Update bekommen, das die neuere Syntax verwendet. Solange kannst du diese Warnung ignorieren.

  • Hi NaN , stimmt ja! Ist 'ne Warnung und keine Fehlermeldung!!!

    Kannste mal sehen, was ich für'n Newbie bin. ;)


    Dankeschön auch für Deine Hinweise und aufklärenden Erläuterungen! Dann brauche ich mir ja diesbezüglich keine Sorgen machen, dass mir dadurch mit meinen Daten in der Tabelle was unkorrekt/vermurkst wird. :)