반응형
MariaDB 계산된 필드에 고유 제약 조건 추가
동일한 ID에서 2분마다 두 개 이상의 트랜잭션이 발생하지 않도록 테이블에 고유한 제약 조건을 추가하려고 합니다. 하지만 MariaDB는 이를 좋아하지 않는 것 같습니다.
ALTER TABLE expenses ADD CONSTRAINT UNIQUE (id, FLOOR(UNIX_TIMESTAMP(date_inserted)/120));
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'UNIX_TIMESTAMP(date_inserted)/120))' at line 1
이것을 달성할 수 있는 방법이 있습니까?
감사해요.
생성된 열을 만들고 이 열을 인덱스에 사용합니다.
예를 들어
CREATE TABLE `t` (
`salesperson` varchar(10) DEFAULT NULL,
`id` int(11) DEFAULT NULL,
`date_inserted` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
alter table t
add column uts int as (floor(UNIX_TIMESTAMP(date_inserted)/120));
ALTER TABLE t
ADD CONSTRAINT UNIQUE iddt (id, uts);
언급URL : https://stackoverflow.com/questions/71193161/mariadb-add-unique-constraint-on-calculated-field
반응형
'programing' 카테고리의 다른 글
Oracle 내보내기 덤프 파일의 내용 나열 (0) | 2023.08.05 |
---|---|
mongoDB로 Excel 파일(XLSX)을 가져오는 방법 (0) | 2023.08.05 |
선택한 항목을 맨 위에 표시하려면 RecyclerView 스크롤 (0) | 2023.08.05 |
AJAX 리디렉션 딜레마, 리디렉션 URL을 가져오는 방법 또는 리디렉션 요청에 대한 속성을 설정하는 방법 (0) | 2023.08.05 |
전화 번호가 표시된 상태에서 다이얼을 열려면 어떻게 해야 합니까? (0) | 2023.08.05 |