Don't allow overlap date for a contest.
What's the query to know if a new contest overlap an old contest ?
CREATE TABLE IF NOT EXISTS contest (
id int(10) unsigned NOT NULL auto_increment,
title varchar(255) NOT NULL,
slug varchar(255) NOT NULL,
valid_from date NOT NULL,
valid_to date NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY unique_contest_title (title),
UNIQUE KEY unique_contest_slug (slug)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO contest (id, title, slug, description, valid_from, valid_to) VALUES
(1, 'my first cool contest', 'my-first-cool-contest', 'my desc', '2012-05-01', '2012-05-31');
I don't want two or more contest in the same time.
By now I ended up with this simple query
and it seems to work but I'd like to know your opinion :)
SELECT id FROM pc_contest WHERE valid_from = '2012-05-10' OR valid_to = '2012-05-31'