Вот моя таблица
id some_column store_id
1 (Excl. Tax) 1
2 (Incl. Tax) 1
3 Target Rule/Product 1
4 File %1 does not exist 1
5 hello 1
6 hello 2 <--- valid because store_id is 2 If its 1 then it should invalid as I want unique string for each store
...
Где id
- автоинкремент и первичный ключ, some_column
имеет varchar и unique constraint
, а store_id
- идентификатор моего магазина (можетбыть 1 или 2 или 3 и т. д.)
В этой таблице все работает, но когда у меня store_id имеет 2, и в то время я добавляю ту же строку с store_id 1, тогда это дает мне уникальное нарушение ограничениянайдена ошибка.Но я хочу избежать этой ошибки, так как она имеет другой store_id.так как я могу этого достичь?Есть идеи по этому поводу?
РЕДАКТИРОВАТЬ
CREATE TABLE `comment_data` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Entity ID',
`test_text` varchar(255) NOT NULL COMMENT 'Test String',
`store_id` smallint(5) unsigned NOT NULL COMMENT 'Store ID',
`translation_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Modification Time',
PRIMARY KEY (`id`,`store_id`),
UNIQUE KEY `CUSTOMER_TEST_TEXT` (`test_text`),
KEY `CUSTOMER_STORE_ID` (`store_id`),
CONSTRAINT `CUSTOMER_STORE_ID_STORE_STORE_ID` FOREIGN KEY (`store_id`) REFERENCES `store` (`store_id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='comment_data';