MySQL의 Microsoft SQL Server IDENTITY 열에 해당하는 것은 AUTO_INCREMENT입니다. SQL Server의 IDENTITY는 MySQL의 AUTO_INCREMENT와 같은 역할을 합니다.
구문은 다음과 같습니다 -
CREATE TABLE yourTableName ( yourColumnName1 dataType NOT NULL AUTO_INCREMENT, yourColumnName2 dataType, . . . N, PRIMARY KEY(yourColumnName1) );
MySQL에서 열이 auto_increment이면 기본 키를 사용해야 합니다. 그렇지 않으면 MySQL에서 오류가 발생합니다. 오류를 보십시오 -
mysql> create table EquivalentOfIdentityInMySQL -> ( -> ProductId int NOT NULL AUTO_INCREMENT, -> ProductName varchar(30) -> ); ERROR 1075 (42000) − Incorrect table definition; there can be only one auto column and it must be defined as a key
위의 오류를 제거하려면 ProductId를 기본 키로 만들어야 합니다. MySQL AUTO_INCREMENT의 선언은 ProductId를 기본 키로 설정한 다음과 같습니다. -
mysql> create table EquivalentOfIdentityInMySQL -> ( -> ProductId int NOT NULL AUTO_INCREMENT, -> ProductName varchar(30) -> , -> PRIMARY KEY(ProductId) -> ); Query OK, 0 rows affected (0.59 sec)
ProductId 열에 대한 값을 전달하지 않을 경우 MySQL은 1에서 auto_increment를 시작하고 다음 숫자는 기본적으로 1씩 증가합니다.
ProductId 열을 확인하기 위해 insert 명령을 사용하여 테이블에 일부 레코드를 삽입해 보겠습니다. 쿼리는 다음과 같습니다 -
mysql> insert into EquivalentOfIdentityInMySQL(ProductName) values('Product-1'); Query OK, 1 row affected (0.14 sec) mysql> insert into EquivalentOfIdentityInMySQL(ProductName) values('Product-2'); Query OK, 1 row affected (0.14 sec) mysql> insert into EquivalentOfIdentityInMySQL(ProductName) values('Product-34'); Query OK, 1 row affected (0.10 sec)
select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다 -
mysql> select *from EquivalentOfIdentityInMySQL;
다음은 출력입니다 -
+-----------+-------------+ | ProductId | ProductName | +-----------+-------------+ | 1 | Product-1 | | 2 | Product-2 | | 3 | Product-34 | +-----------+-------------+ 3 rows in set (0.00 sec)
ProductId 열을 보세요. 이 열에 대한 값을 전달하지 않았지만 1에서 시작하는 숫자를 가져오고 다음 숫자는 1씩 증가합니다.