Ограничение уникальности предотвращает создание двух записей из имеющих одинаковые значения в столбце. В таблице CUSTOMERS, например, вы можете захотеть создать два или больше людей имеющих одинаковый возраст.
Например, следующий SQL-запрос создает новую таблицу с именем CUSTOMERS и добавляет пять столбцов. Здесь столбец AGE установлен в UNIQUE, так что вы не можете иметь две записи с тем же возрастом.
CREATE TABLE CUSTOMERS( ID INT NOT NULL, NAME VARCHAR (20) NOT NULL, AGE INT NOT NULL UNIQUE, ADDRESS CHAR (25) , SALARY DECIMAL (18, 2), PRIMARY KEY (ID) );
Если таблица CUSTOMERS уже создана, то если вы хотите добавить ограничение UNIQUE на колонку AGE, вы должны написать заявление, как запрос, который задается в блоке кода ниже.
ALTER TABLE CUSTOMERS MODIFY AGE INT NOT NULL UNIQUE;
Вы также можете использовать следующий синтаксис, который поддерживает ограничение присвоения имен в нескольких столбцах.
ALTER TABLE CUSTOMERS ADD CONSTRAINT myUniqueConstraint UNIQUE(AGE, SALARY);
Чтобы удалить ограничение UNIQUE, используйте следующий SQL запрос:
ALTER TABLE CUSTOMERS DROP CONSTRAINT myUniqueConstraint;
Если вы используете MySQL, то вы можете использовать следующий синтаксис:
ALTER TABLE CUSTOMERS DROP INDEX myUniqueConstraint;
Мне кажется, что человек, который понимает язык этой статьи, уже знает ответ на вопрос, в чём разница между статическим и динамическим SQL. А я не понял. Я хотел понять, в чём разница между статическим и динамическим запросом. Яндекс даёт эту статью на первой странице в ответ на запрос «Что такое динамический запрос». Вроде статья должна ответить на этот вопрос, но уровень явно для академиков.