복붙노트

[SQL] 내가 어떻게 MySQL의 데이터베이스에 직렬화 필드에서 검색 할 수 있습니까?

SQL

내가 어떻게 MySQL의 데이터베이스에 직렬화 필드에서 검색 할 수 있습니까?

어떻게 내가 문 같은 mysql을 제외하고는 MySQL의 데이터베이스에 직렬화 필드에서 검색 할 수 있습니까?

데이터는 다음과 같습니다

a:9:{s:2:"m1";s:4:"1217";s:2:"m2";s:8:"9986-961";s:2:"m3";s:19:"1988-03-07 00:00:00";s:2:"m4";s:0:"";s:2:"m5";s:0:"";s:2:"m6";s:0:"";s:2:"m7";s:3:"104";s:2:"m8";s:6:"150000";s :2:"m9";s:18:"Ok Then, Yes It Is";}

나는 M9 값이 '예 그것이'인 행을해야합니다. 나는 문 '처럼'MySQL을 사용하고 싶지 않아요.

나는 시도했다 :

SELECT * FROM table WHERE field like '%Yes It Is%'

당신이 도움을 기쁘게 할 수 있습니다.

해결법

  1. ==============================

    1.나는 정규 표현식을 사용하여 하나 개의 솔루션을 발견했다 :

    나는 정규 표현식을 사용하여 하나 개의 솔루션을 발견했다 :

    SELECT *
    FROM table_name
    WHERE `field` REGEXP '.*"array_key";s:[0-9]+:".*array_value.*".*'
    
    SELECT *
    FROM table_name
    WHERE `field` REGEXP '.*"m9";s:[0-9]+:".*Ok Then, Yes It Is.*".*'
    

    도움이 되었기를 바랍니다:

    http://www.namasteui.com/search-from-serialize-field-in-mysql-database/

  2. ==============================

    2.당신이 다음 시도했다 :

    당신이 다음 시도했다 :

    SELECT * FROM table WHERE field like '%"m9";s:18:"Ok Then, Yes It Is";%'
    

    ?

    하지만 사실 당신은 간단한 열의 모든 직렬화 된 데이터를 넣어 테이블의 적절한 구조를 만들고 안, 같은 데이터를 검색 할 경우

  3. from https://stackoverflow.com/questions/24508164/how-do-i-search-from-serialize-field-in-mysql-database by cc-by-sa and MIT license