Почему не работает оператор MySQL? - PullRequest
0 голосов
/ 19 марта 2012

Я сейчас использую PHPMyAdmin и создаю новую таблицу с этими значениями ниже, но она не работает, и я вообще не понимаю, почему.

SQL-запрос:

CREATE TABLE  `database`.`hub_attendance_lessons` (

`id` BIGINT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`lesson_id` BIGINT( 10 ) UNSIGNED NOT NULL ,
`course_id` BIGINT( 10 ) UNSIGNED NOT NULL ,
`student_id` BIGINT( 10 ) UNSIGNED NOT NULL ,
`date` BIGINT( 10 ) UNSIGNED NOT NULL ,
`attended` BOOL( 2 ) UNSIGNED NULL ,
`absent` BOOL( 2 ) UNSIGNED NULL ,
`excused_absent` BOOL( 2 ) UNSIGNED NULL ,
`late` BOOL( 2 ) UNSIGNED NULL ,
`excused_late` BOOL( 2 ) UNSIGNED NULL
)
 ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci 
 COMMENT =  'stores the attendance of all lessons for all students';

MySQL сказал:

# 1064 - у вас ошибка в синтаксисе SQL; проверьте руководство, которое соответствует вашему Версия сервера MySQL для правильного синтаксиса для использования рядом с '(2) UNSIGNED NULL, absent BOOL (2) UNSIGNULL NULL, `excused_absent` BOOL (2) UNSI 'в строке 1

1 Ответ

1 голос
/ 19 марта 2012

BOOL и BOOLEAN - это просто сокращение для TINYINT(1). Нет смысла иметь BOOL (2). Удалите все длины 2 для ваших логических значений.

...