database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 31203 게시물 읽기
No. 31203
select table_name쿼리문 질문이요 ㅠㅠ
작성자
데베너무어려워요(qowpdud29)
작성일
2018-12-07 14:11
조회수
2,626

데이터 베이스를 너무 어려워 하는 학생입니다 ㅜ 

제가 하고 있는 프로젝트 중에서 제가 하고싶은것이 특정 문자를 같은 테이블을 검색해서 그 검색한 값 테이블에 대한 그 테이블에 카디널리티를 구해서 결과값을 출력하고자 합니다

그래서 

select table_name,auto_increment from information_schema.tables where table_name like "%문자%";로 검색을 했습니다.

그러니까 처음에는 원하는데로 나왔는데 이게 여러번 검색해도 첫 값이 계속 출력이 되더라고... 왜그런지 이해를 못하겠어요 ㅜㅠ

결과

TABLE_NAME | AUTI_INCREMENT

   테이블 명          숫자값.

 

테이블 생성시에 auto_increment는 이렇게 했습니다.

indexs int not null auto_increment primary key이런식으로 create했습니다.!! 혹시 해결 방법좀 알려주시겠어요? ㅜㅜ

(제가 아직 많이 미흡하여 쫌만 풀어서 설명 부탁드릴께요!)

이 글에 대한 댓글이 총 7건 있습니다.

 질문을 이해할 수 없네요.

카디널리티 부모자식간의 관계에 따라 다른 것으로

ERD에 표기되지

DBMS에서 쿼리로 조회할 수 없습니다.

 

auto_increment는 PK나 UK를 자동증가하도록 설정하는 것으로

해당 테이블에 insert 작업이 발생한 경우만 값이 증가 됩니다.

박인호(paerae)님이 2018-12-07 17:26에 작성한 댓글입니다.
이 댓글은 2018-12-07 17:27에 마지막으로 수정되었습니다.

 제 설명이 이상했던것 같네요 카디날리티가 아니라 마지막 즉 최고값 auto_increment숫자값을 구할려고 했던거에요 혹시 아니면 저 방법 말고 특정 문자값을 갖는 테이블을 select하여 그 select된 테이블들에서의 auto_increment에 최대값을 구하고 싶은건데 그 쿼리문을 잘 모르겠어요 ㅠㅠ

데베너무어려워요(qowpdud29)님이 2018-12-10 09:35에 작성한 댓글입니다.

해당 쿼리에 문제는 없어 보입니다.

information_schema.tables에 auto_increment에는  

해당 테이블의 최대값 +1로 설정(즉 다음에 넣어야 할 값이 저장됨)

되어 있습니다.

해당 테이블에 row를 insert 하면서 확인해 보세요.

 

table 생성 스크립트를 올려놓으면 

원인 파악이 더 쉬울 것 같습니다.

 

박인호(paerae)님이 2018-12-10 11:36에 작성한 댓글입니다.

 테이블 생성은

create table [테이블명] (number int not null auto_increment primary key,admin_id varchar(30),등등);

혹시 풀로 필요하신지..?나머지 뒤는 그냥 컬럼명과 타입이고 뒤에 ,constraint foreign key(admin_id) references appadnin(id) on delete cascade)이렇게 외래키 하나 추가 되어있고요

근데 이게 정말 몰라서 그러는데 제가 실험을 해볼려고 exam이라는 테이블을 만들고 만들때

create table exam (number int(11) not null auto_increment primary key,name varchar(15));

이렇게 하나 만들고 계속 insert를 하였을때 number값은 1씩 계속 증가하고 제가 3개를 insert하였을때

select table_name,auto_increment from information_schema.tables where table_name like "ex%";를 하였더니 박인호 님께서 말하신것처럼 auto_increment값이 +1 되어서 나왔습니다.

그런후 다시 4개를 insert한후 

select table_name,auto_increment from information_schema.tables where table_name like "ex%";를 했는데 제가 원하는 값은 

table_name | auto_increment

  exam             8

이 결과값을 원했는데

table_name | auto_increment

  exam        |    4 

이런식으로 처음 검색했을때 나온 결과값이 계속 나와요 ㅠㅜ 아니면 제가 검색한 값이 어디 저장되서 그게 계속 출력되는 건가요? 저는 저런식으로 제가 올린거와 같은 쿼리 결과를 원해서요ㅠ

 

데베너무어려워요(qowpdud29)님이 2018-12-10 11:49에 작성한 댓글입니다.

 어떤 툴을 사용하는지 모르지만

결과가 캐싱 되어 있어서 그럴 수도 있습니다.

프로그램을 종료하고 재접속해도

결과가 같은지 확인해 보세요.

박인호(paerae)님이 2018-12-11 10:56에 작성한 댓글입니다.

 예... 프로그램 종료후 컴퓨터 재부팅시에도 그래요 ㅠㅜ

데베너무어려워요(qowpdud29)님이 2018-12-13 09:45에 작성한 댓글입니다.

 아니면 다른 방법은 없을까요? 제가 잘 몰라서 다르게라고 구하고 싶은데 

데베너무어려워요(qowpdud29)님이 2018-12-13 09:45에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
31206테이블 사이즈 문의 [1]
지나가다
2018-12-13
2494
31205join 관련 질문드려요 [2]
hooney
2018-12-13
2511
31204MYSQL 자동형변환으로 인한 조인 조건 문제 [1]
권순환
2018-12-12
2597
31203select table_name쿼리문 질문이요 ㅠㅠ [7]
데베너무어려워요
2018-12-07
2626
31202[속도문제] 증가키 구조 테이블 레코드 삭제 or 플레그 비트?? [1]
권순환
2018-12-04
2370
31201replace 질문입니다. [2]
이기자
2018-11-28
2380
31199count 를 사용하여 그룹 단위로 top n 쿼리 속도 문제 [6]
김경준
2018-11-22
2520
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.041초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다