MySQL 中以 SERIAL 作为列名是否已经包含“NOT NULL”约束?


在 MySQL 中,SERIAL 是 BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE 的别名。因此,不要在 SERIAL 后使用 NOT NULL,因为它已经被包含在其定义中。

让我们看一个示例并创建一个表。此处,我们有一个名为“serial”的列 −

mysql> create table DemoTable
(
   Id serial
);
Query OK, 0 rows affected (0.42 sec)

使用 insert 命令在表中插入一些记录。我们在插入时不包含任何值 −

mysql> insert into DemoTable values();
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.06 sec)
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.07 sec)

使用 select 语句显示表中的所有记录 −

mysql> select *from DemoTable;

这将产生以下输出 −

+----+
| Id |
+----+
|  1 |
|  2 |
|  3 |
|  4 |
|  5 |
|  6 |
+----+
6 rows in set (0.00 sec)

更新于:2019 年 10 月 4 日

145 次浏览

开启您的职业

完成课程获得认证

开始学习
广告
© . All rights reserved.