以下sql语句的错误在哪,请修正,id INT(11) NOT NULL AUTO_INCREMENT,
时间: 2024-03-07 22:47:10 浏览: 199
这个 SQL 语句的错误在于 `INT(11)`,它的长度限制是不必要的,因为 `INT` 类型总是占用 4 个字节(32 位),而不受括号中的数字限制。
正确的 SQL 语句如下所示:
```
id INT NOT NULL AUTO_INCREMENT,
```
在实际开发中,可以省略 `NOT NULL`,因为 `AUTO_INCREMENT` 列始终不能为空。更改后的完整 SQL 语句如下:
```
CREATE TABLE employee (
id INT AUTO_INCREMENT,
name VARCHAR(50),
gender ENUM('F', 'M'),
birthday DATE,
address VARCHAR(100),
mobile VARCHAR(20),
email VARCHAR(50),
department_id INT,
job_id INT,
employed_date DATE,
is_active TINYINT(1) DEFAULT 1,
PRIMARY KEY (id),
FOREIGN KEY (department_id) REFERENCES department (id) ON DELETE RESTRICT,
FOREIGN KEY (job_id) REFERENCES job (id) ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
```
阅读全文