У меня есть таблица SQL со следующей структурой:
PK (int, primary key), userID (int), data (varchar 64)
В принципе, любому пользователю, как определено userID, разрешено хранить любое количество коротких строк. Однако ни одному пользователю не разрешается хранить две одинаковые строки (хотя пользователь 1 и пользователь 2 могут хранить одну и ту же строку отдельно). Я хотел бы, если это вообще возможно, реализовать это ограничение на уровне базы данных, поскольку структурные ограничения IMHO всегда должны быть в таблицах, , а также в программах, вставляющих / считывающих данные из таблиц.
Единственное, о чем я могу подумать, - это добавить третий столбец, в котором я объединяю userID и данные при каждой вставке, и называю , что уникальный столбец, но мне это кажется слишком «хакерским». Я открыт для полной реструктуризации моих таблиц, если у одного из вас, ребята, есть лучший способ сделать это, что позволит мне наложить это ограничение на поля:)
Спасибо!
Мало