테이블이 있는데 URL이있는 텍스트 필드가 다시 생깁니다. 중복 된 URL이있는 행이 필요하지 않지만 삽입하기 전에 확인하지 않으려 고합니다. 텍스트 필드를 만들 수있는 방법이 없습니다. 고유하거나 사용할 다른 필드 유형을 제안 할 수 있습니까?PHP 고유 텍스트 필드?
1
A
답변
6
데이터베이스의 텍스트 필드가 고유 또는 기본 키로 설정되었거나 설정했으면 복제를 입력 할 때 삽입 문이 실패합니다. 그렇게하면 실패한 인서트를 제대로 처리 할 수 있습니다.
다른 곳에서 지적했듯이 실제 TEXT 필드는 고유 할 수 없지만 varchar 필드를 사용하는 경우 수행 할 수 있습니다. URL의 텍스트 필드를 TEXT 필드에 저장하는 경우 걱정할 다른 문제가 있기 때문에 이것은 전혀 중요하지 않을 수 있습니다 (단지 잘못된 의사 소통 일 수 있음).
1
URL 필드의 해시가 포함 된 다른 필드를 사용해 볼 수 있습니다.
0
올바른 방법은 URL에 테이블이 있는지 여부를 확인하고, 그렇다면 삽입하고, 그렇지 않으면 삽입하지 않습니다.
예외 처리는 실제로 필요한 곳에서 사용해야하며 정상적인 기능을 대체하는 데 사용해서는 안됩니다.
7
기본적으로 솔루션은 field_hash와 같은 데이터베이스에 추가 필드를 추가하여 VARCHAR로 만들고 인덱스를 고유하게 만듭니다.
CREATE TABLE 'info' (
'text' text NOT NULL,
'text_hash' varchar(40) NOT NULL,
PRIMARY KEY ('id'),
UNIQUE KEY 'text_hash' ('text_hash')
);
$text = 'Full Text';
$text_hash = sha1($text);
mysql_query("INSERT INTO info (text, text_hash) VALUES ('$text', '$text_hash')");
관련 문제
- 1. MySQL과 PHP의 고유 한 텍스트 필드
- 2. SQLite의 고유 한 필드 조합?
- 3. Django, 고유 필드 생성
- 4. JPA 및 고유 필드
- 5. php, html 콤보 박스 및 텍스트 필드
- 6. Javascript + PHP + 동적 텍스트 필드 + Jquery
- 7. 텍스트 필드
- 8. 텍스트 필드
- 9. datamapper 다중 필드 고유 인덱스
- 10. asp.net mvc datannotation 고유 필드
- 11. MySQL의 텍스트 필드 문제
- 12. JavaScript로 텍스트 영역에 입력 필드 텍스트 삽입
- 13. 일반 텍스트 onclick - 텍스트 필드
- 14. 텍스트 필드 내의 정적 텍스트?
- 15. PHP 고유 히트 카운트
- 16. PHP 고유 컴퓨터 ID
- 17. PHP : 고유 교체가있는 preg_replace
- 18. 텍스트 상자에 데이터베이스 필드 표시
- 19. MYSQL 텍스트 필드 일치
- 20. 3 개의 텍스트 필드로 구성된 고유 색인
- 21. 미리 Poulate URL이있는 텍스트 필드
- 22. 텍스트 상자를 고유 이름으로 바꾸기
- 23. 목적 C : 텍스트 필드
- 24. 텍스트 필드 크기 늘리기
- 25. iPhone 맞춤 텍스트 필드
- 26. Facebook 텍스트 필드 감지
- 27. 텍스트 필드 길이 제한
- 28. 동적 텍스트 필드
- 29. 아이폰 입력 텍스트 필드
- 30. iPhone 텍스트 필드
고유 키를 추가하는 데 필요한 필드에 최대 길이를 추가 할 수 없습니다. – zuk1
필드를 텍스트에서 varchar로 변경하고 적절한 길이를 지정하십시오. – TheTXI
좋습니다.하지만 250 자 이상의 URL을 삽입하려고 시도했지만 걱정할 필요는 없습니다. 텍스트 필드에 URL을 저장하는 것과 관련하여 언급 한 다른 문제는 Wht입니까? – zuk1