Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

SERIAL을 열 이름으로 사용하면 MySQL에서 이미 'NOT NULL'이 포함되어 있습니까?

<시간/>

MySQL에서 SERIAL은 BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE의 별칭입니다. 따라서 SERIAL 다음에 NOT NULL을 사용하지 마십시오. 이미 NOT NULL이 정의의 일부로 포함되어 있기 때문입니다.

예제를 보고 테이블을 생성해 보겠습니다. 여기에 "serial"이라는 이름의 열이 있습니다 -

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

삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. −

를 삽입하는 동안 값을 포함하지 않습니다.
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)