MySQL에 배열 데이터 저장: 대체 접근 방식
단일 MySQL 필드에 배열을 저장하는 것이 편리한 솔루션처럼 보일 수 있지만, 일반적으로 데이터 무결성과 효율적인 쿼리 기능을 손상시키므로 권장되지 않습니다. 대신, 배열의 다양한 요소를 수용하도록 데이터베이스 스키마를 조정하는 것이 더 적절합니다.
관계형 스키마 재설계의 예
다음 구조의 배열을 고려해보세요. :
$a = array( 1 => array( 'a' => 1, 'b' => 2, 'c' => 3 ), 2 => array( 'a' => 1, 'b' => 2, 'c' => 3 ), );
이 배열을 관계형 데이터베이스에 효과적으로 저장하려면 다음과 같은 테이블을 만들 수 있습니다.
CREATE TABLE test ( id INTEGER UNSIGNED NOT NULL, a INTEGER UNSIGNED NOT NULL, b INTEGER UNSIGNED NOT NULL, c INTEGER UNSIGNED NOT NULL, PRIMARY KEY (id) );
배열 데이터 저장을 위한 대체 옵션
단일 필드에 배열을 저장해야 하는 경우 직렬화 및 JSON 인코딩과 같은 옵션을 활용할 수 있습니다.
JSON 인코딩 활용 예
JSON 인코딩을 사용하여 배열 $a를 저장한다고 가정합니다.
$json_encoded = json_encode($a);
배열을 검색하려면 데이터베이스에서:
$json_decoded = json_decode($json_encoded, true);
이 접근 방식을 사용하면 배열 요소에 직접 액세스할 수 있습니다.
위 내용은 MySQL에 배열 데이터를 저장하는 방법: 단일 필드와 관계형 스키마?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!