2012-06-30 7 views
0

나는 asp.net에서이 오류가 발생하는 1292 잘못된 날짜 형식을 사용하여 SQL 간단한 삽입 쿼리를 작성하고 있지만 그것은 엔티티 프레임 작업과 잘 어울리는 이유는 SQL 삽입 쿼리에 오류가 있습니까? mysql을 사용하는 데이터베이스와 열 형식은 datetime 형식입니다.날짜 시간 형식 문제 C#

SQL 코드

엔티티 프레임 워크에 대한
INSERT INTO `log`(`LogID`,`Time`,`Details`,`UserName`,`LogType`) 
VALUES('0','6/30/2012 3:47:22 PM','testaaaa Deleted','admin','1'); 

log.AddLog(); 
//Where log is table object name. 
+3

당신은 어떤 코드 또는 뭔가를 보여줄 수 있습니까? –

+0

답변을 드릴 수 있도록 코드를 입력하십시오. –

+0

지금 확인하십시오 – user1387147

답변

2

이 형식으로 입력해야 확신 : YYYY-MM-DD HH : MM : SS

을 너무

시도
INSERT INTO `log`(`LogID`,`Time`,`Details`,`UserName`,`LogType`) 
VALUES('0','2012-06-30 15:47:22','testaaaa Deleted','admin','1'); 
+0

맞아요,하지만 제 질문은 엔티티 프레임 워크가 입력 할 수있는 이유는 무엇입니까? – user1387147

+0

당신의 질문은'왜 SQL 삽입 쿼리에 오류가 있습니까? '올바른 형식을 취하지 않으면 오류가 발생합니다 – peroija

+0

제 질문은 그것이 etityframe 작업과 잘 작동하는 이유입니다. 그것은 삽입 쿼리와 함께 제공하는 오류를 제공해야합니다. – user1387147

-1

datetime 필드에 허용되는 모든 형식. 나는 여러분이 사용하는 형식으로 PM을 사용할 수 없다고 확신합니다. 오후 4시, 오후 3시에만 사용할 수 있습니다. PM 부분을 제거하고 이것이 작동하는지 확인하십시오.

내가 생각
+0

당신은 다시 한번 나의 질문을 읽을 수 있습니까? – user1387147

-1

이 ...... PLS 테이블 name..it를 확인이 단일 인용해서는 안 ..... 유일한 값은 작은 따옴표에 있어야합니다 .......

+0

테이블 이름은 싱글로 인용 할 수 있습니다. 예약 된 키워드로 테이블의 이름을 지정해야하는 경우에 사용됩니다. 예제 '선택'테이블 만들기 .... –

3

당신이 원하는 STR_TO_DATE을 사용하여 SQL을 직접 사용할 때 MySQL이 비표준 날짜/시간 문자열을 올바르게 해석하도록하십시오.

STR_TO_DATE('6/30/2012 3:47:22 PM', '%m/%e/%Y %h:%i:%s %p') 

이 트릭을 수행해야합니다. 따라서, 귀하의 insert 문은 다음과 같습니다.

INSERT INTO `log` 
    (`LogID`, 
    `Time`, 
    `Details`,`UserName`,`LogType`) 
VALUES 
    ('0', 
    STR_TO_DATE('6/30/2012 3:47:22 PM', '%m/%e/%Y %h:%i:%s %p'), 
    'testaaaa Deleted','admin','1') 

MySQL 엔티티 프레임 워크 코드는 Dotnet 날짜를 MySQL 코드에 적합한 형식으로 변환하는 방법을 알고 있습니다. 그것이 올바르게 작동하는 이유입니다.

서투른 작은 %의 m의 %의 시간 물건이 여기에 표시됩니다 : http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format