반응형
모델을 동기화하면 UNSIGNED BIGINT가 UNNSIGNED BIGINT로 수정됩니다(19).
환경:
- 우분투 14.04
- MySql Workbench 6.2.4
- 마리아DB 10
모델을 데이터베이스 스키마와 동기화하려고 할 때 정의된 유형의 UNSIGNED BIGINT(20)를 테이블로 설정하면 UNSIGNED BIGINT(19)가 됩니다.
전방 엔지니어링과 동일한 프로세스가 이러한 데이터 유형에 적합합니다.
모델
동기화 모델
CREATE TABLE IF NOT EXISTS `test`.`table` (
`id` BIGINT(19) UNSIGNED NOT NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;
포워드 엔지니어링
CREATE TABLE IF NOT EXISTS `test.`table1` (
`id` BIGINT UNSIGNED NOT NULL,
PRIMARY KEY(`id`))
ENGINE = InnoDB;
MySql Workbench의 버그일 수 있습니까?
같은 것들(19)
의 끝에BIGINT
(및 기타)INTs
아무 의미가 없습니다.그것이 있든 없든 상관없습니다.숫자도 중요하지 않습니다. 즉,(20)
괜찮아요.
모든 맛이 컴파일되고 동일한 성능을 발휘합니다.
제가 찾은 해결책은 다음과 같이 유형을 정의하는 것입니다.
UNSIGNED BIGINT(20) --OK
대신에
UNSIGNED BIGINT --KO
MySql 버그
실제로는 예제에서 볼 수 있듯이 영향을 미치지 않는 것 같습니다.
create table test.biginttest (a BIGINT, b BIGINT(10), c BIGINT(15) ZEROFILL);
INSERT INTO test.biginttest VALUES (-10,10,-10);
INSERT INTO test.biginttest VALUES (9223372036854775808,9223372036854775808,9223372036854775808);
select * from test.biginttest;
결과
언급URL : https://stackoverflow.com/questions/42291836/synchronizing-the-model-modifies-unsigned-bigint-to-unsigned-bigint19
반응형
'source' 카테고리의 다른 글
DB(Hibernate 및 Oracle 10g)에서 동일한 행을 읽는 두 개의 서로 다른 스레드를 방지하는 방법 (0) | 2023.08.05 |
---|---|
내가 내 스프링 API에 게시하려고 할 때 403 금지? (0) | 2023.08.05 |
로컬 호스트에서 MariaDB(MySQL) 인스턴스에 연결하려면 어떻게 해야 합니까? (0) | 2023.08.05 |
Javascript ES6 클래스 인스턴스를 복제하는 방법 (0) | 2023.08.05 |
숫자가 나올 때까지 타임리프 루프 (0) | 2023.08.05 |