<分区>
我正在使用 MySQL。我创建了两个新表。 在 Employees 表中插入一个新行后,我故意尝试在 Orders 表中插入一个新行,其引用在 Employees 表中不存在(我知道它会产生错误)。之后,当我尝试在 Orders 表中插入一个新行时,其引用存在于 Employees 表中,它执行成功但现在第一行 Orders 表的 id 为 2。为什么即使第一个插入语句失败它也会增加
CREATE TABLE Employees
(
EmpID SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
EmpFN VARCHAR(20) NOT NULL
)
ENGINE=INNODB;
CREATE TABLE Orders
(
OrderID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
EmpID SMALLINT NOT NULL,
FOREIGN KEY (EmpID) REFERENCES Employees (EmpID)
)
ENGINE=INNODB;