본문 바로가기
MySql

MySQL phpMyadmin-오류 # 1064

by 베이스 공부 2020. 10. 23.
반응형

내 db에이 테이블을 만들려고하면 오류가 발생합니다.

# 1064-SQL 구문에 오류가 있습니다. 설명서를 확인하십시오 corresponds to your MySQL server version for the right syntax to use near 'unsigned NOT NULL default '0', PRIMARY KEY (reminder_id), KEY alert_id (5 행의 rem '

CREATE TABLE reminder_events (
reminder_id bigint(20) unsigned NOT NULL auto_increment,
reminder_name varchar(255) NOT NULL default '',
reminder_desc text,
reminder_date varchar(8) unsigned NOT NULL default '0',
PRIMARY KEY (reminder_id),
KEY reminder_id (reminder_id)
) TYPE=MyISAM;

아무도 내가 뭘 잘못하고 있는지 볼 수 있습니까?

 

해결 방법

 

문제는 텍스트 필드 (varchar)를 부호없는 것으로 정의하려고한다는 것입니다. 이는 숫자 필드에만 적용 할 수있는 것입니다.

즉 : " reminder_date varchar (8) unsigned NOT NULL default '0', "은 의미가 없습니다.

그러나 필드가 "reminder_date"이므로 날짜 저장을 시도하고있는 것 같습니다.이 경우 MySQL의 DATE 필드 유형을 정말 사용하고 싶습니다.

예 : " reminder_date DATE NOT NULL, "

또한 이러한 필드 중 하나를 검색하려면 검색 속도를 높이기 위해 색인을 추가해야합니다. 따라서 이름과 날짜를 검색하려면 다음을 사용할 수 있습니다.

CREATE TABLE reminder_events (
reminder_id bigint(20) unsigned NOT NULL auto_increment,
reminder_name varchar(255) NOT NULL DEFAULT '',
reminder_desc text,
reminder_date DATE NOT NULL,
PRIMARY KEY (reminder_id),
KEY reminder_id (reminder_id),
KEY reminder_name (reminder_name),
KEY reminder_date (reminder_date)
) TYPE=MyISAM;

 

참조 페이지 https://stackoverflow.com/questions/4679080

 

 

반응형

댓글