以下是我的表模式。由于自动增量重复无法创建MYSQL表
CREATE TABLE `tbl_certificate`
(
`certificate_id` int(11) NOT NULL AUTO_INCREMENT,
`certificate_number` varchar(150) NOT NULL,
`vin_no_id` varchar(50) NOT NULL,
`product_id` int(11) NOT NULL,
`duration_id` int(11) NOT NULL,
`clientId` varchar(30) NOT NULL,
`first_name` varchar(50) NOT NULL,
`last_name` varchar(50) NOT NULL,
`state` varchar(256) NOT NULL,
`city` varchar(256) NOT NULL,
`mobile` varchar(30) NOT NULL,
`alternate_contact_number` varchar(30) NOT NULL,
`land_line` varchar(256) NOT NULL,
`address` varchar(300) NOT NULL,
`email_id` varchar(50) NOT NULL,
`registration_no` varchar(20) NOT NULL,
`make_id` varchar(255) NOT NULL,
`model_id` varchar(100) NOT NULL,
`vehical_sale_date` date NOT NULL,
`vehical_delivery_date` date NOT NULL,
`engine_number` varchar(30) NOT NULL,
`fuel` varchar(20) NOT NULL,
`odometer_reading` varchar(30) NOT NULL,
`color` varchar(32) NOT NULL,
`variant` varchar(16) NOT NULL,
`refered_by` int(11) NOT NULL,
`user_id` varchar(30) NOT NULL,
`created_date` date NOT NULL,
`complete_status` varchar(30) NOT NULL,
`price_amt` varchar(20) NOT NULL,
`servicetax_amt` varchar(20) NOT NULL,
`total_amt` varchar(20) NOT NULL,
`quotationNumber` bigint(20) NOT NULL,
`programstart` date NOT NULL,
`programend` date NOT NULL,
`uploaded_certificate` int(11) NOT NULL COMMENT '0-No,1-Yes',
`certificate_create_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`savedCertificateDate` datetime NOT NULL,
`purchaseCertificateDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`transaction_no` varchar(256) NOT NULL,
`expired` int(11) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
它将引发像
不正确的表定义的误差;可以只有一个自动列,它必须被定义为一个键
我没有得到什么问题,只有一个自动增量字段名称'certificate_id'。
请帮忙。
感谢它的工作。但AUTO_INCREMENT本身在MySQL中的主键是不是? – Pratik
自动增量列必须被索引,但这并不一定意味着它必须是PK的一部分(尽管它通常是PK或PK的一部分)。 – Shadow
@Pratik不,它不是。正如我在上面的评论和我的回答中所指出的那样,自动增量字段必须编入索引。 – Shadow