
MySQL 테이블에 동적 열 추가
목표는 열이 아직 없는 경우에만 기존 MySQL 테이블에 새 열을 추가하는 것입니다. 존재하다. 이를 달성하려면 변경을 시도하기 전에 열의 존재를 확인하는 솔루션이 필요합니다.
신뢰할 수 있는 한 가지 접근 방식은 저장 프로시저를 활용하여 조건부 논리를 캡슐화하는 것입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | DELIMITER $$
DROP PROCEDURE IF EXISTS add_column_if_not_exists $$
CREATE PROCEDURE add_column_if_not_exists()
BEGIN
-- Check if the column exists
IF NOT EXISTS(
SELECT *
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA=DATABASE()
AND TABLE_NAME= 'table_name'
AND COLUMN_NAME= 'new_column_name'
) THEN
-- Alter the table to add the column
ALTER TABLE table_name ADD new_column_name data_type NOT NULL DEFAULT value;
END IF;
END $$
CALL add_column_if_not_exists() $$
DELIMITER ;
|
로그인 후 복사
이 저장 프로시저 다음을 수행합니다.
- 지정된 열(new_column_name)이 table_name에 있는지 확인합니다. table.
- 열이 존재하지 않으면 지정된 데이터 유형, Null 허용 여부 및 기본값(value)을 사용하여 테이블에 추가합니다.
table_name 및 특정 테이블 및 열 요구 사항을 반영하는 new_column_name입니다.
위 내용은 아직 존재하지 않는 경우에만 MySQL 열을 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!