[Sqlite] insert 시 에러 메세지 - 에러 메세지 Error: near "s": syntax error

 

아래는 간단한 insert 가 일어났을때를 예로 들었지만,

만약 많은 양의 데이터를 insert 하기위해 만든 쿼리에 이런문제가 있다면

 

아래의 해결방법 1) 번의 방법으로 만들고, replace를 이용해서 바꾸면 될것이다.

replace는 쓰는 언어에 따라 달라지겠지만 비슷하니 언어에 맞게 사용하면 된다.

 

테이블명과 컬럼명이 같다면 오라클DB에도 그대로 적용되니 더욱더 좋은 방법이다.

 

 

문제> mytable 의 contents 컬럼에 He's son is ... 이라는 문장을 insert 하고 싶다면

insert into mytable (

  contents

)

values (

  'He's son is ...'

);

 

에러 메세지>

Error: near "s": syntax error

 

 

해결 방법>

1) '' 홑따옴표(single quotes) 앞에 홑따옴표(single quotes)를 한번더 써준다.

insert into mytable (contentsvalues ('He''s son is ...');

 

2) 물결키(~)와 같이 있는 `홑따옴표(single quotes)를 사용한다.

insert into mytable (contents) values ('He's son is ...');

 

3) value 값을 넣을때 " " 쌍따옴표(double-quotes) 사이에 넣는다.

insert into mytable (contentsvalues ("He's son is ...");

 

 

결론>

2) 번은 원문장을 변형시켜야 한다.

3) 번은 문장내에 " " 쌍따옴표(double-quotes) 가 있다면 문제가 생긴다.

 

따라서 해결방법 1)을 사용하는 것이 좋은 선택 같다.

 

 

광고>

728x90

+ Recent posts