안드로이드 개발 질문/답변
(글 수 45,052)
DB 생성후 테이블을 생성했습니다.
String sql = "create table " + TABLE_NAME + " ("
+ "myKey String not null, " + "myValue String not null);";
이후
insert 를 하려고 합니다.
String sql = "insert into " + TABLE_NAME + " (myKey, myValue) "
+ " values('" + myKey + "'" + ", '" + myValue + "');";
이런식으로요...
여기서 문제가 생기더군요...
String 이 들어갈거라도 당연히 생각하고... myKey 혹은 myValue 에 "010" 을 입력하고
select 문으로 꺼내보니... "10" 만 저장이 되어있더군요...(일반 문자열을 저장 잘 되는데..숫자 0 으로 시작되는 문자열은 0이 빠집니다.)
이유를 잘 모르겠습니다.
String 이란 자료형이 있는것 같기는 한데....
해결책은
String sql = "create table " + TABLE_NAME + " ("
+ "myKey TEXT not null, " + "myValue TEXT not null);";
으로 했더니..
"010" 이 제대로 "010"으로 저장되더군요..
왜 이런 현상이 발생하는거죠??
sqlite3 만의 특성인가요?
String sql = "create table " + TABLE_NAME + " ("
+ "myKey String not null, " + "myValue String not null);";
이후
insert 를 하려고 합니다.
String sql = "insert into " + TABLE_NAME + " (myKey, myValue) "
+ " values('" + myKey + "'" + ", '" + myValue + "');";
이런식으로요...
여기서 문제가 생기더군요...
String 이 들어갈거라도 당연히 생각하고... myKey 혹은 myValue 에 "010" 을 입력하고
select 문으로 꺼내보니... "10" 만 저장이 되어있더군요...(일반 문자열을 저장 잘 되는데..숫자 0 으로 시작되는 문자열은 0이 빠집니다.)
이유를 잘 모르겠습니다.
String 이란 자료형이 있는것 같기는 한데....
해결책은
String sql = "create table " + TABLE_NAME + " ("
+ "myKey TEXT not null, " + "myValue TEXT not null);";
으로 했더니..
"010" 이 제대로 "010"으로 저장되더군요..
왜 이런 현상이 발생하는거죠??
sqlite3 만의 특성인가요?




+ "myKey TEXT not null, " + "myValue TEXT not null);";
에서
"create table " + TABLE_NAME + " ("
+ "myKey TEXT not null, " + "myValue TEXT not null);";
이부분 있죠??
이거는 SQL에서 쓰이는 명령문입니다..
DB에서는 String이 없구요..
character나 Text를 써야됩니다..