2011-12-06 12 views
1

データベーステーブルにdatetime(name:lud)変数があります。この形式で2011-04-11 07:08:02に登録されます。今私は、article_id:article_id + ludと組み合わせてユニークなキーを作りたいと思っています。 しかし、ユニークなキーludの部分のみ2011-04-11 07:08が必要です。 例えばLUD 2011-04-11 7:08 +のarticle_id 45mysqlデータベースのdatetimeとしてのユニークキー

答えて

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' 
関連する問題