반응형
SQL 테이블 정의가 잘못되었습니다. 자동 열은 하나만 있을 수 있으며 키로 정의해야 합니다.
아래 SQL 명령을 실행하면 항상 다음 오류가 발생합니다.
잘못된 SQL: CREATE TABLE ms_account (계정 ID INT NOT NULL auto_increment, 계정 이름 VARCHAR(50) NOT NULL, 계정 소유자 VARCHAR(20) NOT NULL, 계정 잔액 DECARCHAR(10), NULL, NULL VARCHARID 없음smallint NOT NULL, locked smallint NOT NULL, primary key accountid(bankid,accountid) ; : 테이블 정의가 잘못되었습니다.자동 열은 1개뿐이며 키로 정의해야 합니다.
SQL
"CREATE TABLE {$utcv_db_prefix}account (".
"accountid INT NOT NULL auto_increment,".
"accountname VARCHAR(50) NOT NULL,".
"kindofaccount SMALLINT NOT NULL,".
"accountowner VARCHAR(20) NOT NULL,".
"accountcurrency VARCHAR(10) NOT NULL,".
"accountbalance DECIMAL(15,2) NOT NULL,".
"bankid VARCHAR(8) NOT NULL,".
"createdate INT NOT NULL,".
"deletedate INT NOT NULL,".
"changedate INT NOT NULL,".
"deleted SMALLINT NOT NULL,".
"locked SMALLINT NOT NULL,".
"PRIMARY KEY (bankid,accountid)".
") $utcv_db_create_extension;";
이미 프라이머리 키를 추가하려고 했습니다."accountid INT NOT NULL auto_increment,".
그러나 이는 여러 개의 기본 키 오류를 반환할 뿐입니다.
auto increment column (그 자체)이 테이블의 프라이머리 키여야 한다고 생각합니다.
편집하다
조금 읽어본 결과, 반드시 기본 키가 아니라 모든 종류의 키가 필요하다고 생각합니다.
"KEY(accountid)" 또는 "Unique KEY(accountid)"를 추가하십시오.
언급URL : https://stackoverflow.com/questions/24087841/sql-incorrect-table-definition-there-can-be-only-one-auto-column-and-it-must-be
반응형
'sourcecode' 카테고리의 다른 글
java를 사용하여 mariadb에 접속하려면 어떻게 해야 하나요? (0) | 2022.09.05 |
---|---|
로컬 시스템과 클라우드 인스턴스 간의 단방향 SymmetricDS 동기화 (0) | 2022.09.05 |
Ruby gem mysql2 설치 실패 (0) | 2022.09.05 |
MacOSX homebrew mysql 루트 패스워드 (0) | 2022.09.04 |
Java에서 창을 중앙에 배치하는 방법 (0) | 2022.09.04 |