Неправильный порядок столбцов и значений в INSERT.
Дублирование значений в UNIQUE-столбце.
Нарушение CHECK или NOT NULL.
Создание таблицы с уже существующим именем.
1
Ошибка: UPDATE без WHERE
Без условия UPDATE применяется ко всем строкам таблицы. Это одна из самых опасных ошибок.
-- Опасно: зарплата станет 65000 у всех сотрудников
UPDATE Employees SET Salary = 65000;
-- Правильно
UPDATE Employees
SET Salary = 65000
WHERE EmployeeID = 1;
2
Ошибка: несоответствие столбцов и значений в INSERT
Количество, порядок и типы значений должны соответствовать указанным столбцам.
-- Ошибка: 4 столбца, 3 значения
INSERT INTO Employees (FirstName, LastName, Salary, Email)
VALUES ('Alice', 'Green', 55000.00);
3
Ошибка: дублирование в UNIQUE-столбце
Попытка вставить уже существующий email вызовет ошибку нарушения уникальности.
-- Ошибка: email уже есть в таблице
INSERT INTO Employees (FirstName, LastName, Salary, Email)
VALUES ('Frank', 'White', 50000.00, 'alice.green@example.com');
4
Ошибка: нарушение CHECK
Если ограничение CHECK требует положительной зарплаты, отрицательное значение будет отклонено.
-- Ошибка: Salary не проходит CHECK (Salary > 0)
INSERT INTO Employees (FirstName, LastName, Salary, Email)
VALUES ('Grace', 'Black', -1000.00, 'grace.black@example.com');
5
Ошибка: создание таблицы с существующим именем
Повторный CREATE TABLE с тем же именем вызовет ошибку. Используйте CREATE TABLE IF NOT EXISTS или удалите старую таблицу.
-- Безопаснее
CREATE TABLE IF NOT EXISTS Employees (...);
-- Или сначала удалить
DROP TABLE IF EXISTS Employees;
CREATE TABLE Employees (...);
6
Ошибка: пропуск обязательного NOT NULL
Столбцы с NOT NULL должны получить значение при вставке или иметь DEFAULT.
-- Ошибка: FirstName NOT NULL, но не указан
INSERT INTO Employees (LastName, Salary, Email)
VALUES ('Gray', 50000.00, 'gray@example.com');