タグ

ブックマーク / dxd8.com (1)

  • CakePHPで複合ユニークキーのバリデーションを行う方法 - (DxD)∞

    データベースのユニークキー制約 データベースにおいて、複数のフィールド(カラム)値の組み合わせがユニークであることを保証するためには、データベーステーブルのカラムにユニークキー制約を定義します。 CREATE TABLE IF NOT EXISTS `users` ( `id` int(10) unsigned NOT NULL auto_increment, `first_name` varchar(255) NOT NULL, `last_name` varchar(255) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `first_name_last_name` (`first_name`,`last_name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; これで「first_

    kathew
    kathew 2016/05/12
    指定したフィールドのデータが存在しないならばNULLとして扱われる。常にバリデーションが成功したものとして扱われる。MySQLならば、ユニークインデックス内のNULL値は重複を認められるので、この仕様で正常に動作する
  • 1