Zunächst müssen Sie das nicht tun sollte. Sie sollten Daten in MySQL nicht so speichern. Jede Zeile darf keine Spalte enthalten, in der mehr als ein Wert gespeichert ist, z. B. durch Kommas, Leerzeichen oder etwas anderes getrennt. Statt dessen müssen Sie diese Daten in mehrere Zeilen aufteilen. Dadurch können Sie jede Zeile einfach abrufen, aktualisieren und löschen.
Aber wenn Sie Daten so speichern möchten, sollten Sie für JSON-Datentyp gehen. Ab MySQL 5.7.8 unterstützt MySQL einen nativen JSON-Datentyp, der einen effizienten Zugriff auf Daten in JSON-Dokumenten (JavaScript Object Notation) ermöglicht.
Es kann mit JSON-Array gespeichert werden. Ein JSON-Array enthält eine Liste von Werten durch Kommata getrennt und eingeschlossen innerhalb Zeichen [und]:
["abc", 10, null, true, false]
Tabelle ex erstellen:
CREATE TABLE `book` (
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(200) NOT NULL,
`tags` json DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
Insert Daten ab:
INSERT INTO `book` (`title`, `tags`)
VALUES (
'ECMAScript 2015: A SitePoint Anthology',
'["JavaScript", "ES2015", "JSON"]'
);
Es Es gibt viele native Funktionen in MySql, um den JSON-Datentyp zu behandeln.
How to Use JSON Data Fields in MySQL Databases
Mysql JSON Data Type
In dem Fall, wenn Referer ein Unternehmen ist, können Sie viel Attribut können dann durch @ rbr94 wie vorgeschlagen tun. Wenn der Referer nicht mehr als ein Attribut hat, wird der Job ausgeführt, wenn Daten in mehreren Zeilen aufgeteilt werden oder JSON DataType verwendet wird. Endlich kommt es auf Ihre Wahl der Lösung an.
Gehen Sie für kommagetrennte Variablen. Wie ', ref1, ref2, ref3,'. Später können Sie die Werte mit Komma (in Ihrem Programm) explodieren und dann aufheben. Angenommen, Sie möchten nach allen Datensätzen von 'ref2' suchen, können Sie' like '%, ref%' ' – Rajesh
verwenden. Sie sollten Daten in MySQL nicht so speichern. Jede Zeile darf keine Spalte enthalten, in der mehr als ein Wert gespeichert wird, wie durch Kommas, Leerzeichen oder etwas anderes getrennt. Statt dessen müssen Sie diese Daten in mehrere Zeilen aufteilen. Dadurch können Sie jede Zeile einfach abrufen, aktualisieren und löschen. – t9toqwerty
Können wir Ihr Problem lösen? – rbr94