あなたがそれを行うべきではありませんまず第一に。 あなたはそのようなデータをMySQLに保存すべきではありません。行には、複数の値がコンマ、スペースなどで区切られて保存されている列は使用できません。むしろ、そのようなデータを複数の行に分ける必要があります。これにより、任意の行を簡単に検索、更新、削除することができます。
しかし、そのようなデータを保存したい場合は、JSONデータ型にする必要があります。 MySQL 5.7.8以降、MySQLはJSON(JavaScript Object Notation)ドキュメントのデータに効率的にアクセスできるネイティブなJSONデータ型をサポートしています。
JSON配列を使用して保存できます。 A JSONアレイ内のカンマで区切られ且つ囲ま値のリスト【と】文字を含む:
["abc", 10, null, true, false]
テーブルEX作成:
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;
挿入データEX:そこ
INSERT INTO `book` (`title`, `tags`)
VALUES (
'ECMAScript 2015: A SitePoint Anthology',
'["JavaScript", "ES2015", "JSON"]'
);
をJSONデータ型を処理するMySqlの多くのネイティブ関数です。
How to Use JSON Data Fields in MySQL Databases
リファラは、@ rbr94により示唆されるように、あなたが行うことができます多くの属性を持つ、実体である場合には
Mysql JSON Data Type
。リファラーが複数の属性を持たない場合は、複数の行にデータを分割するか、JSON DataTypeを使用してジョブを行います。 最後に、あなたのソリューションの選択によって異なります。
カンマ区切りの変数に移動します。 '、ref1、ref2、ref3、'のように。後でカンマ(プログラム内)で値を展開してから取り出すことができます。もしあなたが 'ref2'のすべてのレコードを探したいとしたら' like '、ref%' 'を使うことができます。 – Rajesh
あなたはそのようなデータをMySQLに保存すべきではありません。 行には、複数の値がコンマ、スペースなどで区切られて保存されている列を使用できません。むしろ、そのようなデータを複数の行に分ける必要があります。 これにより、任意の行を簡単に検索、更新、削除できます。 – t9toqwerty
私たちはあなたの問題を解決できますか? – rbr94