기본적으로 생성되는 컬럼은 CREATE TABLE 또는 ALTER TABLE 문에서 사용할 수 있는 기능으로 SQL에서 INSERT 또는 UPDATE 절을 통해 실제로 데이터를 보내지 않고 데이터를 저장하는 방법이다. 이 기능은 MySQL 5.7에서 추가되었습니다. 생성된 열은 테이블 필드 내에서 작동합니다. 구문은 다음과 같습니다. -
column_name data_type [GENERATED ALWAYS] AS (expression) [VIRTUAL | STORED] [UNIQUE [KEY]]
여기서 먼저 열 이름과 데이터 유형을 지정합니다.
뒤에는 AS 키워드 뒤 중괄호 안에 표현식을 지정합니다. 표현식에는 리터럴, 매개변수가 없는 기본 제공 함수, 연산자 또는 동일한 테이블의 열에 대한 참조가 포함될 수 있습니다. 함수를 사용하는 경우 스칼라이고 결정적이어야 합니다.
마지막으로 생성된 열을 저장하면 이에 대한 고유 제약 조건을 정의할 수 있습니다.
이 예에서는 아래와 같이 생성된 열과 함께 직원 세부 정보가 포함된 Employee_data라는 테이블을 만듭니다. -
mysql> Create table employee_data(ID INT AUTO_INCREMENT PRIMARY KEY, First_name VARCHAR(50) NOT NULL, Last_name VARCHAR(50) NOT NULL, FULL_NAME VARCHAR(90) GENERATED ALWAYS AS(CONCAT(First_name,' ',Last_name))); Query OK, 0 rows affected (0.55 sec) mysql> DESCRIBE employee_data; +------------+-------------+------+-----+---------+-------------------+ | Field | Type | Null | Key | Default | Extra | +------------+-------------+------+-----+---------+-------------------+ | ID | int(11) | NO | PRI | NULL | auto_increment | | First_name | varchar(50) | NO | | NULL | | | Last_name | varchar(50) | NO | | NULL | | | FULL_NAME | varchar(90) | YES | | NULL | VIRTUAL GENERATED | +------------+-------------+------+-----+---------+-------------------+ 4 rows in set (0.00 sec) mysql> INSERT INTO employee_data(first_name, Last_name) values('Yashpal','Sharma'); Query OK, 1 row affected (0.09 sec) mysql> INSERT INTO employee_data(first_name, Last_name) values('Krishan','Kumar'); Query OK, 1 row affected (0.09 sec) mysql> INSERT INTO employee_data(first_name, Last_name) values('Rakesh','Arora'); Query OK, 1 row affected (0.08 sec) mysql> Select * from employee_data; +----+------------+-----------+----------------+ | ID | First_name | Last_name | FULL_NAME | +----+------------+-----------+----------------+ | 1 | Yashpal | Sharma | Yashpal Sharma | | 2 | Krishan | Kumar | Krishan Kumar | | 3 | Rakesh | Arora | Rakesh Arora | +----+------------+-----------+----------------+ 3 rows in set (0.00 sec)
위 내용은 MySQL GENERATED COLUMN은 무엇이고 테이블 생성 시 어떻게 사용하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!