以下SQL语句根据phpMyAdmin有语法错误,但我无法发现它是什么。有什么想法吗?
CREATE TABLE allocations(
`student_uid` INT unsigned NOT NULL DEFAULT 0,
`active` INT unsigned NOT NULL DEFAULT 1,
`name` VARCHAR( 255 ) NOT NULL DEFAULT '',
`internal_id` VARCHAR( 255 ) DEFAULT '',
`tutor_uid` INT NOT NULL DEFAULT 0,
`allocater_uid` INT unsigned NOT NULL DEFAULT 0,
`time_created` INT NOT NULL DEFAULT 0,
`remote_time` FLOAT NOT NULL DEFAULT 0,
`next_lesson` VARCHAR NOT NULL DEFAULT -1,
PRIMARY KEY ( student_uid )
);
答案 0 :(得分:6)
VARCHAR类型需要一个大小(并且在值周围使用引号很聪明),所以请尝试替换
`next_lesson` VARCHAR NOT NULL DEFAULT -1,
与
`next_lesson` VARCHAR(255) NOT NULL DEFAULT '-1',
答案 1 :(得分:1)
您的上一个VARCHAR没有长度。
答案 2 :(得分:0)
我能想到的两件事:
我认为你不能用一个空的默认值设置一个varchar not null,mysql可能会认为一个空字符串与null相同。
将varchar字段设置为字符串而不是数字,所以:
next_lesson
VARCHAR NOT NULL DEFAULT'-1',
答案 3 :(得分:0)
next_lesson` VARCHAR NOT NULL DEFAULT -1,
应改为
`next_lesson` VARCHAR(255) NOT NULL DEFAULT -1,