2016-08-17 3 views
0

누군가 내가 여기서 잘못하고 있다고 말할 수 있습니까?Java/MySQL : 삽입 날짜가 "알 수없는 열 '날짜'입니다"(오류 1054 (42s22))

mysql> describe mytable; 
Field  Type  Null  Key  Default  Extra 
-----------+----------+--------+--------+------------+--------------- 
id   int(11) NO  PRI  NULL   auto_increment 
foreignid int(11) NO  MUL  NULL 
date  date  NO    '0000-00-00' 
[some more columns] 

나는 PreparedStatement의를 통해 값을 삽입하기 위해 노력하고있어 : :이 같은 테이블이

Unknown column 'date' in 'field list' 
: 매우 간단 아직 난 항상이 오류가 발생한다
String insert = "insert into mytable (foreignid, date) values (?, ?)"; 
PreparedStatement pst = connection.prepareStatement(insert); 
pst.setInt(1, newForeignID);  //valid foreign key 
pst.setDate(2, newDate);   //newDate is a proper java.sql.Date 
pst.execute(); 

그 이유는 무엇입니까?

답변

1

날짜는 mysql의 키워드입니다. 탈출하거나 더 나은 이름을 바꿔야합니다.

String insert = "insert into mytable (foreignid, `date`) values (?, ?)"; 
+0

저는 항상 이름 변경 학교입니다. 이유는 모르겠지만, 어떤 이유로 모든 사람들이 데이터 유형을 보유하고있는 필드의 이름을 지정하기 위해 고유 한 것처럼 보입니다. 그런 필드를 추가하려고 생각할 때마다 항상 "생각 나는 날짜?"라고 생각하거나 묻습니다. 생일? 만료일? 시작일? 종료일? 기념일? ... – Uueerdo

+0

@mxgx'''',''''을 사용하지 말라. 물결표 아래에있는 것이지, 이중 따옴표 아래에있는 것이 아닙니다. – Uueerdo

+0

필자는 열의 이름을 변경하고이'\''따옴표를 사용했습니다. 그러나 'field list'의 오래된 열 이름 'unknown column'date '로 오류가 계속 발생합니다. – user8793

관련 문제