Heim  >  Artikel  >  Datenbank  >  Wie kann ich JSON-Objekte erstellen und in MySQL-Tabellen einfügen?

Wie kann ich JSON-Objekte erstellen und in MySQL-Tabellen einfügen?

DDD
DDDOriginal
2024-10-25 09:22:28324Durchsuche

How Can I Create and Insert JSON Objects into MySQL Tables?

Erstellen und Einfügen von JSON-Objekten mithilfe von MySQL-Abfragen

Angenommen, Sie versuchen, JSON-Objekte zu erstellen und ihre Werte in MySQL-Tabellen einzulesen, stoßen jedoch auf Folgendes Fehler. Der bereitgestellte Code versucht, ein JSON-Objekt zu erstellen und es zum Füllen der Personentabelle zu verwenden:

SET @j = '{"key1": "value1", "key2": "value2"}';
CREATE TABLE Person (name int,id int);
INSERT INTO Person (name,id) SELECT * FROM OPENJSON(@j) WITH (name int,id int);

Um diese Fehler zu beheben, führen Sie die folgenden Schritte aus:

  1. JSON-Datentyp für Tabellenspalten definieren:
    Erstellen Sie die Personentabelle mit einer Namensspalte des JSON-Datentyps.

    CREATE TABLE `person` (
      `name` json DEFAULT NULL
    );
  2. JSON-Werte einfügen :
    Zwei Optionen stehen zur Verfügung:

    • Array-Syntax: JSON-Daten als Array mit eckigen Klammern einfügen.

      INSERT INTO `person` (`name`)
      VALUES ('["name1", "name2", "name3"]');
    • Schlüssel:Wert-Syntax: JSON-Daten mit geschweiften Klammern und Schlüssel-Wert-Paaren einfügen.

      INSERT INTO person VALUES ('{"pid": 101, "name": "name1"}');
  3. JSON-Daten auswählen:
    JSON-Daten mithilfe einer Abfrage abrufen, die nach Übereinstimmungen in der Namensspalte sucht.

    SELECT * FROM `person` WHERE JSON_CONTAINS(name, '["name1"]');

Beachten Sie, dass diese Funktionalität verfügbar ist Wird nur in MySQL-Versionen 5.7 oder höher mit InnoDB unterstützt.

Das obige ist der detaillierte Inhalt vonWie kann ich JSON-Objekte erstellen und in MySQL-Tabellen einfügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn