为什么MySQL语句不起作用?

时间:2012-03-19 17:43:25

标签: mysql phpmyadmin create-table

我现在正在使用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)UNSIGNED NULL,`excused_absent` BOOL(2)UNSI'在第1行

1 个答案:

答案 0 :(得分:1)

BOOLBOOLEAN只是TINYINT(1)的简写。拥有BOOL(2)是没有意义的。删除所有长度为2的布尔值。