Я хочу создать таблицу, чтобы иметь идентификационный номер, основанный на дате, И идентификатор как уникальный первичный ключ.Создание автоматически увеличивающихся чисел с двумя столбцами
Ie:
2015-2-1-1
2015-2-1-2
, но, если я создаю:
2015-2-2-1
счетчик должен перезапустить на 1.
Я попытался с помощью следующих действий:
CREATE TABLE `invoices` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`date` date NOT NULL,
`po_id` int(11) unsigned DEFAULT NULL,
`description` varchar(256) NOT NULL,
`client_id` int(11) unsigned DEFAULT NULL,
`status` enum('unpaid','paid','partial') DEFAULT 'unpaid',
PRIMARY KEY (`id`,`date`),
UNIQUE KEY `id_UNIQUE` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1;
Но это не так Орк, как я хочу.
спасибо! Есть ли проблемы с выполнением чего-то подобного? Следует ли его избегать или все в порядке? –
Не было бы проблем с производительностью, главной проблемой будет удобство использования двойного ключа для редактирования/сохранения/удаления данных (т. Е. Предоставления двух информационных данных для доступа к одной строке). – Adam
У меня будет что-то вроде invoice_items для хранения элементов принадлежащих счету. Будет ли проблематично присоединиться к этим двум? Или это просто вопрос использования двух соединений для даты и идентификатора? –