날짜/기본값 current_timestamp 인 필드 ts가있는 테이블이 있습니다. 내가날짜 선택과 함께 임시 테이블을 만듭니다. 잘못된 기본 값 오류가 발생합니다.
CREATE TEMPORARY TABLE tblTmp (
tmpid INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
INDEX(tmpid)
) AS
SELECT * FROM myTable;
를 통해이 테이블에서 임시 테이블을 만들려고하면
나는 때문에 열 TS의 유효하지 않은 디폴트 값의 오류가 발생합니다.
이것은 mysql 5.7의 strict 모드와 관련이 있다는 것을 알고 있습니다.
이 오류가 디폴트 값으로 curr_timestamp 발생 이유를 확실히 이해하지 못하기 때문에이 처리 할 수있는 방법이 있습니까. 선택에 그냥 문제가 지금 사용하고 있음을 발견() 또는 CURRENT_TIMESTAMP :
UPDATE. 나는 선을 제거하고 작동한다. 그래서
:
SELECT col1, col2, ... FROM myTable
이
SELECT col1, col2, NOW() as currDatetime FROM myTable
을하고있다가 작동하지 않습니다.
왜 이런 일이 발생하는지 알고 싶습니다. 원하는 필드를 선택하면
'create * from myTable'처럼 임시 테이블 tblTmp를 사용하지 않는 이유는 무엇입니까? 그 후 색인을 작성하십시오. –
@Gordon은 내가 보는 한 내 문제를 해결하지 못합니다. 오류 메시지가 tmpId가 아닌 datetime 열과 관련이 있습니다 – solick
select * 대신 잘못된 값의 이름과 코드로 필드를 선택할 수 있습니까? –