我们想在mysql DB中创建一个表,但它无法正常工作。
错误消息显示:
#1089 - 不正确的前缀键;使用的关键部分不是字符串,使用的长度比关键部分长,或者存储引擎不支持唯一的前缀键
这是代码:
CREATE TABLE `student_billing`.`payment` (
`id` INT(10) NOT NULL AUTO_INCREMENT ,
`student_name` INT(255) NOT NULL ,
`student_roll` INT(255) NOT NULL ,
`student_batch_id` INT(255) NOT NULL ,
`student_course_name` INT(255) NOT NULL ,
`student_paid_ammount` INT(255) NOT NULL ,
`student_paid_date` DATETIME(6) NOT NULL ,
`student_payment_recivedby` INT(255) NULL ,
PRIMARY KEY (`id`(10))) ENGINE = MyISAM COMMENT = 'Students Billing DB';
答案 0 :(得分:1)
在声明PRIMARY KEY时,您不需要指定字段的长度。试试这个:
CREATE TABLE `student_billing`.`payment` (
`id` INT(10) NOT NULL AUTO_INCREMENT,
`student_name` INT(255) NOT NULL,
`student_roll` INT(255) NOT NULL,
`student_batch_id` INT(255) NOT NULL,
`student_course_name` INT(255) NOT NULL,
`student_paid_ammount` INT(255) NOT NULL,
`student_paid_date` DATETIME(6) NOT NULL,
`student_payment_recivedby` INT(255) NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM COMMENT='Students Billing DB';
答案 1 :(得分:0)
CREATE TABLE `payment` (
`id` INT(10) NOT NULL AUTO_INCREMENT,
`student_name` INT(255) NOT NULL,
`student_roll` INT(255) NOT NULL,
`student_batch_id` INT(255) NOT NULL,
`student_course_name` INT(255) NOT NULL,
`student_paid_ammount` INT(255) NOT NULL,
`student_paid_date` DATETIME NOT NULL,
`student_payment_recivedby` INT(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MYISAM DEFAULT CHARSET=latin1 COMMENT='Students Billing DB'