반응형
mySQL에서 테이블을 만들 때 변수를 사용하는 방법은 무엇입니까?
ENUM을 선언하고 테이블 작성에 사용하려고 합니다.내 코드는 다음과 같습니다.
SET @myEnum= ENUM('fulfilled', 'noshow', 'cancelled');
CREATE TABLE `Appointments` (
`AppointmentID` VARCHAR(36) NOT NULL UNIQUE,
`AppointmentFulfilled` @myEnum
);
그러나 MariaDB에서 오류가 발생했습니다. '@myEnum은 이 위치에서 유효하지 않습니다. BIGINT가 예상됩니다..'
아이디어 있어요?
CREATE TABLE 문을 구문 분석할 때 SQL 구문 및 식별자를 수정해야 합니다.따라서 변수나 모수를 사용할 수 없습니다.
문자열을 생성하고 변수를 보간한 다음 해당 문자열을 동적 SQL로 준비 및 실행할 수 있습니다.
SET @myEnum= 'ENUM(''fulfilled'', ''noshow'', ''cancelled'')';
SET @ddl = CONCAT(
'CREATE TABLE `Appointments` (
`AppointmentID` VARCHAR(36) NOT NULL UNIQUE,
`AppointmentFulfilled` ', @myEnum,
')'
);
PREPARE stmt FROM @ddl;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
언급URL : https://stackoverflow.com/questions/71914876/how-to-use-a-variable-when-creating-a-table-in-mysql
반응형
'programing' 카테고리의 다른 글
jQuery를 사용하여 양식 제출 (0) | 2023.06.26 |
---|---|
데이터 프레임의 랜덤 행 표본 (0) | 2023.06.26 |
Vue 2 및 Nux: v-for 내부의 변수 href(Vuex 상태 저장 변수) (0) | 2023.06.26 |
Bash 스크립트의 범위에서 난수 (0) | 2023.06.26 |
Oracle에서 가능한 최대 날짜를 어떻게 구합니까? (0) | 2023.06.26 |