2008-11-15 5 views
0

mysql에 100-200 데이터를 저장할 필요가 있습니다. 파이프로 구분되는 데이터입니다.PHP MYSQL - 하나의 열에있는 많은 데이터

mysql에 저장하는 방법은 무엇입니까? 하나의 열을 사용해야합니까, 아니면 여러 개의 열을 많이 만들어야합니까? 정확히 얼마나 많은 데이터 사용자가 입력 할 지 모르겠습니다.

양식을 만들었으므로 여러 데이터를 저장할 부분에서 중단되었습니다.

누구나 여러 데이터를 단일 열에 저장하는 방법을 알고 있거나 다른 방법이 있습니까?

는 자신의 별도의 컬럼으로 양식에서 각 입력을 저장,이 데이터에서 오는 형태가있는 경우

당신에게

답변

4

데이터 소스 ID로 테이블을 구현해야합니다. 이 ID는 유사한 데이터의 모든 조각을 그룹화하는 데 사용되므로 미리 몇 개가 있는지 알 필요가 없습니다.

테이블 열 및 데이터는 다음과 같이 설정할 수 있습니다 :

sourceID  data 
--------  ---- 
     1   100 
     1   200 
     1   300 
     2   100 
     3   100 
     3   200 

데이터베이스를 조회 할 때, 당신은 단지 같은 sourceID으로 모든 데이터를 끌어 당길 수 있습니다. 위의 데이터를 사용하여 다음 쿼리는 두 가지 데이터를 반환합니다. 당신이 여러 테이블이있는 경우

SELECT data 
FROM dataTable 
WHERE sourceID = 3 

, 당신은 JOIN 구문을 사용하여 서로를 연결해야합니다. 사용자 데이터가있는 메인 테이블이 있고이 모든 입력 데이터를 각 사용자와 연결하려고한다고 가정 해보십시오.

userID userName otherData 
------ -------- --------- 
    1   Bob   xyz 
    2   Jim   abc 
    3   Sue  lmnop 

당신은 데이터 테이블의 데이터로이 테이블 (USERTABLE)에서 데이터를 결합 할 경우,이 같은 쿼리를 사용

SELECT userID, userName, data, otherData 
FROM userTable 
LEFT JOIN dataTable 
ON userTable.userID = dataTable.sourceID 
WHERE userTable.userID = 1 

이 쿼리는 사용자를 위해 당신에게 모든 데이터를 줄 것이다 이는 ID가 1 인 데이터 테이블의 sourceID가 사용자 테이블의 userID를 사용하여 추가 데이터가 속한 대상을 추적하고 있다고 가정합니다.

SQL에서 유일한 JOIN 구문은 아닙니다. 다른 유형의 조인 here에 대해 알아볼 수 있습니다.

1

대단히 감사합니다 .. 저를 도와주세요. 데이터의 관계를

봐 : 당신은 당신이 간단한 쿼리에 가입 할 수있는 연결 테이블을 할 수 있습니다 나타냅니다 관계 "많은있다"가지고있는 것처럼

이 하나에 여러 개의 데이터를 저장 ... 소리 열은 질의와 업데이트에 악몽이 될 것입니다. XML을 저장하지 않으면 이벤트가 나에게 악몽이 될 것입니다 ...

1

조인 테이블이 필요합니다. 두 테이블 모두에 필요한 데이터 만 가지고 두 테이블의 ID로 세 번째 테이블을 만든 다음 100, 200, 300 이상이 필요한지는 중요하지 않습니다.

관련 문제