Скажем, у меня есть дерево таблицы и таблицы special_treePostgreSQL UNIQUE ограничение и ЛИТЕРАТУРЫ
CREATE TABLE tree VALUES (name VARCHAR(32) UNIQUE NOT NULL PRIMARY KEY,
type VARCHAR(32) NOT NULL);
CREATE TABLE special_tree VALUES (name NOT NULL REFERENCES tree(name),
treat_date DATE,
id INT NOT NULL PRIMARY KEY);
Поэтому у меня есть таблица, содержащая список деревьев с уникальными именами, но я хочу сказать, что дерево может иметь несколько 'treat_date' (по разным причинам). Поскольку дерево (имя) уникально, я не могу добавить одно имя в special_tree.
Единственное решение - удалить уникальное дерево, а затем добавить всюду. Я обрабатываю таблицу дерева инструкцией IF, чтобы проверить, нет ли имени там еще? (IF EXISTS (SELECT name FROM tree where tree.name = ...))
'Имя' из 'дерева' should'n использовать в качестве row id, добавьте новое поле в 'tree' для id, например: 'id' int (11) NOT NULL auto_increment и установите его как primarykey, –
Конечно, но это просто пример, это не помогает мне с уникальным name положение дел. Хорошо, я понял, вы хотите, чтобы я ссылался на идентификатор. – sourpet
нет причин устанавливать на name unique constrain –