2014-06-23 2 views
0

나는 프로젝트를 진행하고 있는데 아래 표와 결국 :데이터를 MySQL 또는 PHP 파일에 저장 하시겠습니까?

+---------------+--------------+------+-----+--------------------+-------+ 
| Field   | Type   | Null | Key | Default   | Extra | 
+---------------+--------------+------+-----+--------------------+-------+ 
| id   | int(11)  | NO | MUL | NULL    | A_I | 
| user _id  | int(11)  | NO |  | NULL    |  | 
| info   | varchar(255) | NO |  | NULL    |  | 
| country  | tinyint(3) | NO |  | NULL    |  | 
| date_added | timestamp | NO |  | 0000-00-00 00:00:00|  | 
+---------------+--------------+------+-----+--------------------+-------+ 

나는 내가 대신 숫자 ID를 사용한다고 생각 모든 시간 VARCHAR로 나라를 저장하지 않도록하고 싶었 기 때문에. 내 질문은, 그것은 각자에게 이름을 줄 것이거나 PHP 파일에서 그렇게 할 테이블에 국가 ID를 저장하는 것이 더 좋을까요? 국가는 변화시키지 않을 것입니다. 약 100 개국의 목록이 될 것입니다.

감사합니다.

+1

'countries' 테이블에 저장하고 조인하여 일치 시키십시오. – andrew

+0

해당 숫자 ID를 참조하려면 테이블 "country"가 필요합니다. –

+2

나는 테이블을 가져 와서 이것을 가져올 것이다 : https://github.com/raramuridesign/mysql-country-list/blob/master/mysql-country-list.sql –

답변

0

별도의 국가 테이블을 사용하십시오.

countries table 
--------------- 
id 
name 

그런 다음 테이블의 국가 ID와 관련 될 수 있습니다. 그렇게하면 목록의 국가 만 추가되고 어디에서나 문자열을 저장할 필요가 없으며 국가 이름을 쉽게 변경하거나 새 문자열을 추가 할 수 있습니다.

+0

그렇게 할 것이다. 나는 방금 테이블 1 톤으로 끝났습니다. 답장을 보내 주셔서 대단히 감사합니다! – user3465843

+0

NO - 국가를 대표하는 완벽하고 효율적이며 표준적인 메커니즘이있는 경우 대리 키를 사용하지 않습니다 (ISO 3166) – symcbean

관련 문제