phpMyadmin - Ошибка № 1064 - PullRequest
       23

phpMyadmin - Ошибка № 1064

2 голосов
/ 13 января 2011

При попытке создать эту таблицу в моей БД я получаю сообщение об ошибке:

# 1064 - у вас ошибка в синтаксисе SQL; проверьте руководство, которое соответствует вашему серверу MySQL версия для правильного использования синтаксиса около 'unsigned NOT NULL по умолчанию' 0 ', ПЕРВИЧНЫЙ КЛЮЧ (напоминание_ид), КЛЮЧ remder_id (rem 'в строке 5

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;

Кто-нибудь может увидеть, что я делаю не так?

Ответы [ 3 ]

2 голосов
/ 13 января 2011

Просто удалите без знака.

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) NOT NULL default '0',
PRIMARY KEY (reminder_id),
KEY reminder_id (reminder_id)
) TYPE=MyISAM;
2 голосов
/ 13 января 2011

Проблема в том, что вы пытаетесь определить текстовое поле (varchar) как неподписанное, что может применяться только к числовому полю.

, то есть: "reminder_date varchar(8) unsigned NOT NULL default '0'," не делаетsense.

Однако, так как поле называется "напоминание_даты", я предполагаю, что вы пытаетесь сохранить дату, и в этом случае вы действительно хотите использовать тип поля MySQLs 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;
0 голосов
/ 03 сентября 2015

Запись ENGINE вместо TYPE

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) NOT NULL DEFAULT '0',
PRIMARY KEY (reminder_id),
KEY reminder_id (reminder_id)
) ENGINE=MYISAM;
...