2011-12-06 2 views
1

데이터베이스 테이블에 datetime (name : lud) 변수가 있습니다. 이 형식은 2011-04-11 07:08:02에 등록됩니다. 이제 article_id : article_id + lud와 조합하여 고유 한 키를 만들고 싶습니다. 고유 키 러드 부분은 2011-04-11 07:08 만 필요합니다. 예를 들어 LUD 2011-04-11 7시 8분 + article_id를 45datetime을 mysql 데이터베이스의 고유 키로 사용합니다.

답변

0

변형으로이

CONCAT(DATE_FORMAT(lud,'%Y-%m-%d %H:%i'),article_id) 
1

시도 - 당신은 VARCHAR로 lud 필드의 유형을 변경하고 인덱스의 길이 옵션을 사용할 수 있습니다. 예를 들어

:

CREATE TABLE mytable(
    article_id INT(11) DEFAULT NULL, 
    lud VARCHAR(19) DEFAULT NULL, 
    UNIQUE INDEX UK_mytable (article_id, lud (16)) 
) 
ENGINE = INNODB; 

INSERT INTO mytable VALUES 
    (1, '2011-04-11 07:08:11'); 
Query OK, 1 row affected (0.01 sec) 

INSERT INTO mytable VALUES 
    (1, '2011-04-11 07:09:11'); 
Query OK, 1 row affected (0.01 sec) 

INSERT INTO mytable VALUES 
    (1, '2011-04-11 07:09:30'); 
ERROR 1062 (23000): Duplicate entry '1-2011-04-11 07:09' for key 'UK_mytable' 
관련 문제