으어
  • 홈
  • 방명록
  • 메뉴 닫기
  • 글작성
  • 방명록
  • 환경설정
    • 분류 전체보기 (162) N
      • HTML, CSS (6)
      • Programming (101)
        • PHP (45)
        • Javascript (38)
        • HTML, CSS (1)
        • SQL (12)
        • Etc. (5)
      • OS (6)
      • Etc (39) N
      • Enjoy (10)
        • Animals (10)
        • Game (0)
  • 홈
  • 태그
  • 방명록
Programming/SQL

[MySQL]You can't specify target table 테이블명 for update in FROM clause

INSERT INTO member (mno, mname, 생략) VALUES((SELECT MAX(mno) + 1 FROM member), '김철수', 생략); 위와 같은 쿼리문이 있다고 가정합니다. 문제가 될 것 같지 않은데 실제로 실행을 해보면 제목처럼 대상 테이블을 지정할 수 없네 어쩌네 하면서 오류가 발생합니다. MySQL에서는 동일한 테이블에 대한 서브 쿼리가 제한되어 있습니다. 그래서 이런 경우는 별칭을 붙이면 됩니다. INSERT INTO member (mno, mname, 생략) VALUES((SELECT MAX(m.mno) + 1 FROM member AS m), '김철수', 생략)

2024. 4. 3. 17:40
Programming/SQL

[MySQL]TIMESTAMPDIFF() 시간, 날짜 차이

SELECT TIMESTAMPDIFF(HOUR, '2022-12-02 20:20:20', '2022-11-30 11:11:11'); TIMESTAMPDIFF(단위, datetime1, datetime2) 단위는 SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER(분기), YEAR 이렇게 쓸 수가 있습니다. datetime1이 datetime2보다 클 경우 결과는 음수가 나옵니다. 그래서 어지간하면 datetime1이 datetime2보다 작게 될 수 있도록 입력하시는 게 좋습니다. 등록한 날짜 기준으로 1시간이 안 된 것들을 갖고 오는 걸 예제로 들자면(칼럼명은 regdate로) SELECT * FROM #table WHERE TIMESTAMPDIFF(MINUTE, `r..

2022. 12. 1. 12:14
Programming/SQL

[MySQL]특정 조건에 포함되지 않는 모든 데이터 삭제하기

위 이미지는 번호(no)를 기준으로 내림차순으로 정렬한 것입니다. 여기에서 해야 할 게 최근에 등록한 10개를 빼고는 다 삭제를 해야 합니다. 그러려면 ORDER BY `no` DESC / LIMIT 10 이걸 두 개 얼추 조합해서 NOT IN을 하면 되지 않을까 생각합니다. 그런데 MySQL에서는 아직 안 됩니다. This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery' 이런 오류를 띄우고 멈춥니다. SELECT MIN(`no`) FROM (SELECT `no` FROM `da_temporary_save` WHERE `userid` = 'test' ORDER BY `no` DESC LIMIT 10) AS xxxx 이미지에서..

2022. 6. 16. 17:28
Programming/SQL

테이블 구조(MySQL) 쿼리로 갖고 오기

SELECT c.`TABLE_NAME`, t.`TABLE_COMMENT`, c.`COLUMN_NAME`, c.`COLUMN_COMMENT`, c.`DATA_TYPE`, c.`COLUMN_KEY`, c.`IS_NULLABLE` FROM INFORMATION_SCHEMA.COLUMNS AS c LEFT JOIN information_schema.`TABLES` AS t ON c.`TABLE_NAME` = t.`TABLE_NAME` WHERE c.`TABLE_SCHEMA` NOT IN('information_schema', 'performance_schema', 'mysql') ORDER BY c.`TABLE_SCHEMA`, c.`TABLE_NAME`, c.`ORDINAL_POSITION` 테이블명, 테이블 ..

2022. 2. 4. 10:44
Programming/SQL

[MySQL]정렬 순서가 있는 게 먼저 나오고 없는 게 나중에...

sorting NULL NULL 2 1 3 칼럼이 sorting이고 값은 보는 것처럼 저렇고 원하는 정렬 순서는 1, 2, 3, NULL, NULL SELECT * FROM #table ORDER BY sorting IS NULL ASC, sorting ASC

2021. 12. 9. 11:11
Programming/SQL

[MySQL]ORDER BY

sortNum이라는 컬럼에 NULL이 들어가 있습니다. 애초에 default 값을 넣어주면 이런 일이 없겠지만 모종의(?) 이유로 바꿀 수 없다고 가정을 합니다.SELECT * FROM #table ORDER BY `sortNum` ASC정렬을 하게 되면 NULL인 것들이 가장 위로 올라옵니다. 그렇다고 NULL인 애들을 아래로 보내자고 DESC를 하면 2, 1 이런 식으로 정렬이 될 테니 문제가 됩니다. 아래처럼 is null을 써서 처리하시면 됩니다.SELECT * FROM #table ORDER BY `sortNum` IS NULL ASC, `sortNum` ASC

2021. 4. 28. 12:08
  • «
  • 1
  • 2
  • »

공지사항

전체 카테고리

  • 분류 전체보기 (162) N
    • HTML, CSS (6)
    • Programming (101)
      • PHP (45)
      • Javascript (38)
      • HTML, CSS (1)
      • SQL (12)
      • Etc. (5)
    • OS (6)
    • Etc (39) N
    • Enjoy (10)
      • Animals (10)
      • Game (0)
애드센스 광고 영역
  • 최근 글
  • 최근 댓글

최근 글

최근댓글

태그

  • #정규표현식
MORE

전체 방문자

오늘
어제
전체

블로그 인기글

Powered by Privatenote Copyright © 으어 All rights reserved. TistoryWhaleSkin3.4

티스토리툴바