2년 전 · 장성호 님의 새로운 답변
mysql 관련오류
0 8 09:46:09 create table week( name varchar(30) not null,-- 일정 이름 start_time time default '10:00:00',-- 시작 시간 end_time time default '16:00:00',-- 끝나는 시간 number tinyint auto_increment primary key, check (start_time<end_time) ) Error Code: 1050. Table 'week' already exists 0.000 sec
개발자
#mysql
답변 1
댓글 0
조회 147
2년 전 · 손호영 님의 질문
mysql 오류가 있어요?
create table week( name varchar(30) not null,-- 일정 이름 start_time time default '10:00:00',-- 시작 시간 end_time time default '16:00:00',-- 끝나는 시간 number tinyint auto_increment primary key check (start_time<end_time) 0 7 09:43:20 create table week( Error Code: 3813. Column check constraint 'week_chk_1' references other column. 0.000 sec
개발자
#mysql
답변 0
댓글 0
보충이 필요해요 1
조회 79
2년 전 · 커리어리 AI 봇 님의 새로운 답변
무한스크롤 No offset 방식 index지정에 대해 질문이 있습니다
안녕하세요 현재 스프링부트 querydsl로 무한스크롤을 구현하면서 no offset을 적용하고 있습니다.정렬 방식에는 최신순과 마감순이 있는데 최신순은 pk를 오토인크리먼트로해서 사용하면되서 괜찮은데 문제는 마감순입니다. - 마감순정렬조건은 기존에 pk가 오토인크리먼트방식이고 정렬 조건과도 무관해 pk말고 정렬조건이되는 컬럼을 index로 설정을 하려고 합니다! 따라서 마감일로 입력받은 컬럼을 사용하려고 합니다 - 그런데 No offset이 클러스터 인덱스 방식을 쓰기때문에 속도면에서 이점이 있다고 알고 있습니다! - 따라서 클러스터 인덱스를 생성하려면 unique index로 해야하는것 같습니다. 이때, 위에 말씀드린것 처럼 정렬조건이 되는 컬럼을 마감일column으로 잡으려고하는데 이게 unique하지 않을수 있다고 생각이 됩니다(시간이라 중복값이 있을수 있다고 생각) - 따라서 이를 위해 마감일컬럼+pk로 회야할지 아니면 ms초까지(sql은 없고 서버로 받아서) 받아서 datetime이 아닌 varchar타입으로 해야할지 고민이 됩니다! 여기서 제가 착각하고 잘못된 제안을 하고 있는부분이 있는지 아니면 다른 좋은 방법이 있는지 선배님들의 고견을 듣고 싶습니다!
개발자
#springboot
#no-offset
#무한스크롤
#mysql
#querydsl
답변 1
댓글 0
추천해요 1
조회 223
2년 전 · 연양갱 님의 답변 업데이트
sql에서 primary키를 varchar로 설정해도 되나요?
sql에서 컬럼을 primary 키로 설정할 때 varchar로 설정해도 되나요? Foreign 키로 연결할 거라서요!!
개발자
#sql
#primary-key
#varchar
#foreign-key
답변 1
댓글 0
조회 166
2년 전 · 쭈니 님의 새로운 댓글
라라벨 enum 타입 havingRaw절 사용방법 도와주세요ㅠㅠ
안녕하세요 :) 현재 라라벨로 프로젝트를 하고있습니다. havingRaw을 사용하는데 다른 타입들의 데이터들은 다 잘 작동하는데 데이터타입이 enum인 것만 작동을 안합니다. 그러나 아래의 sql문은 하이디sql 에서 실행이 잘 됩니다. SELECT order_id AS cnt FROM test_table WHERE mall_id = 'test_mall' AND user_id = 'test_user' GROUP BY order_id HAVING MIN(type) = 'p' 데이터 타입은 아래와 같습니다. order_id = varchar mall_id = varchar user_id = varchar type = enum $row= DB::table("test_table") ->select(DB::raw('order_id as cnt')) ->where("mall_id", $test_mall) ->where("user_id", $test_user) ->groupBy('order_id') ->havingRaw('MIN(type) = p') ->get(); 해당 쿼리빌더에 잘못된 점이 있을까요??
개발자
#라라벨
#php
#sql
#laravel
#mysql
답변 1
댓글 1
조회 155
2년 전 · 김대현 님의 새로운 답변
SQL varchar(n)과 한글 글자 수 질문
테이블의 한 컬럼을 varchar(50)으로 설정 했습니다. 50자까지 들어갈 수 있는걸로 알고 있었는데 검색해보니 mysql 버전에 따라 저 숫자 50이 글자 수 일수 있고 byte일수도 있다는 것을 알았습니다. 일단 저는 글자 수로 들어갑니다. 한글 50자 까지 잘 들어가고 있습니다. 그래서 확인해보기 위해 length를 통해 들어간 데이터의 길이를 조회했는데요 대부분의 데이터가 50을 넘고 있었습니다. 한글은 * 3을 한 수치고 영어는 한글자에 1의 길이를 차지하는 것 같습니다. 왜 이런 일이 발생하는 걸까요? 조회한 쿼리문 select length(title) as length, title From Contents where title is not null; 결과 예시 row length | title 120 | 가나다라마바사아자차카타파하가가가가가가가가가가가가가가가가가가가가가가가가가가 6 | 인형 5 | hello 17 | test 중입니다
개발자
#sql
#varchar
#data-type
답변 2
댓글 0
조회 523