Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL错误-添加主键_Mysql_Key_Primary Key - Fatal编程技术网

MySQL错误-添加主键

MySQL错误-添加主键,mysql,key,primary-key,Mysql,Key,Primary Key,我的mysql服务器有一个大错误。 MySQL昨天已经崩溃了,但一切正常。 如果我想今天进行更新,我有一个添加主键的问题。 我需要将主键添加到表A13\u产品中 下面是创建脚本 CREATE TABLE `A13_product` ( `id` INT(11) NOT NULL, `users_id` INT(11) NULL DEFAULT NULL, `product_set_id` INT(11) NULL DEFAULT NULL, `producer_id` INT(11) NULL

我的mysql服务器有一个大错误。 MySQL昨天已经崩溃了,但一切正常。 如果我想今天进行更新,我有一个添加主键的问题。 我需要将主键添加到表A13\u产品中 下面是创建脚本

CREATE TABLE `A13_product` (
`id` INT(11) NOT NULL,
`users_id` INT(11) NULL DEFAULT NULL,
`product_set_id` INT(11) NULL DEFAULT NULL,
`producer_id` INT(11) NULL DEFAULT NULL,
`photos_id` INT(11) NULL DEFAULT NULL,
`photogallery_id` INT(11) NULL DEFAULT NULL,
`name` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`price` DECIMAL(15,5) NULL DEFAULT NULL,
`price_recycling` DECIMAL(15,5) NULL DEFAULT NULL,
`description_short` TEXT NULL COLLATE 'utf8_czech_ci',
`description_long` TEXT NULL COLLATE 'utf8_czech_ci',
`description_long_en` TEXT NULL COLLATE 'utf8_czech_ci',
`description_long_de` TEXT NULL COLLATE 'utf8_czech_ci',
`description_long_sk` TEXT NULL COLLATE 'utf8_czech_ci',
`has_comments` TINYINT(1) NULL DEFAULT NULL,
`active` TINYINT(1) NULL DEFAULT NULL,
`warranty` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`date_add` DATETIME NULL DEFAULT NULL,
`date_edit` DATETIME NULL DEFAULT NULL,
`view_count` INT(11) NULL DEFAULT NULL,
`url` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`sticky` TINYINT(1) NULL DEFAULT NULL,
`delivery_date` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`possible_buy` TINYINT(1) NULL DEFAULT NULL,
`var1` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`var2` VARCHAR(255) NOT NULL DEFAULT '' COLLATE 'utf8_czech_ci',
`var3` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`var4` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`var5` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`poradi` INT(11) NOT NULL DEFAULT '0',
`tax_rates_id` INT(11) NULL DEFAULT NULL,
`cache_url` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`description_en` TEXT NULL COLLATE 'utf8_czech_ci',
`name_en` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`ics` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`var_cz` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`var_en` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`branch` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`cast` VARCHAR(10) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`podc` VARCHAR(10) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`weight` DECIMAL(15,5) NULL DEFAULT NULL,
`image` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`stupen` VARCHAR(40) NOT NULL COLLATE 'utf8_czech_ci'
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB;
这是一个SQL命令,我需要执行的是

ALTER TABLE A13_product ADD PRIMARY KEY(`id`);
错误是

SQL Error (156): Table 'c2****.A13_product#1' already exists
在表中不使用键,当我给出DROP键时,他告诉我表中没有键

当我查看Table\u对比中的信息\u模式时,表A13\u产品没有键


有人知道问题出在哪里吗?

您不能像删除外键、索引或默认值那样在列上删除NOTNULL约束。 这可能就是您无法删除主键(如果它存在)的原因。 相反,只需使用'change'或'modify'语法并保留NOTNULL位:

alter table A13_product modify id INT(11) default null;
列上任何预先存在的索引或外键都不受影响。 然后,尝试这样做:

ALTER TABLE A13_product DROP PRIMARY KEY, ADD PRIMARY KEY(id,id); 

只需将创建表结构更改为:

CREATE TABLE `A13_product` (
`id` INT(11) NOT NULL,
`users_id` INT(11) NULL DEFAULT NULL,
`product_set_id` INT(11) NULL DEFAULT NULL,
`producer_id` INT(11) NULL DEFAULT NULL,
`photos_id` INT(11) NULL DEFAULT NULL,
`photogallery_id` INT(11) NULL DEFAULT NULL,
`name` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`price` DECIMAL(15,5) NULL DEFAULT NULL,
`price_recycling` DECIMAL(15,5) NULL DEFAULT NULL,
`description_short` TEXT NULL COLLATE 'utf8_czech_ci',
`description_long` TEXT NULL COLLATE 'utf8_czech_ci',
`description_long_en` TEXT NULL COLLATE 'utf8_czech_ci',
`description_long_de` TEXT NULL COLLATE 'utf8_czech_ci',
`description_long_sk` TEXT NULL COLLATE 'utf8_czech_ci',
`has_comments` TINYINT(1) NULL DEFAULT NULL,
`active` TINYINT(1) NULL DEFAULT NULL,
`warranty` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`date_add` DATETIME NULL DEFAULT NULL,
`date_edit` DATETIME NULL DEFAULT NULL,
`view_count` INT(11) NULL DEFAULT NULL,
`url` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`sticky` TINYINT(1) NULL DEFAULT NULL,
`delivery_date` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`possible_buy` TINYINT(1) NULL DEFAULT NULL,
`var1` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`var2` VARCHAR(255) NOT NULL DEFAULT '' COLLATE 'utf8_czech_ci',
`var3` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`var4` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`var5` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`poradi` INT(11) NOT NULL DEFAULT '0',
`tax_rates_id` INT(11) NULL DEFAULT NULL,
`cache_url` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`description_en` TEXT NULL COLLATE 'utf8_czech_ci',
`name_en` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`ics` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`var_cz` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`var_en` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`branch` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`cast` VARCHAR(10) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`podc` VARCHAR(10) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`weight` DECIMAL(15,5) NULL DEFAULT NULL,
`image` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`stupen` VARCHAR(40) NOT NULL COLLATE 'utf8_czech_ci'
CREATE TABLE `A13_product` (
`id` INT(11) NOT NULL,
`users_id` INT(11) NULL DEFAULT NULL,
`product_set_id` INT(11) NULL DEFAULT NULL,
`producer_id` INT(11) NULL DEFAULT NULL,
`photos_id` INT(11) NULL DEFAULT NULL,
`photogallery_id` INT(11) NULL DEFAULT NULL,
`name` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`price` DECIMAL(15,5) NULL DEFAULT NULL,
`price_recycling` DECIMAL(15,5) NULL DEFAULT NULL,
`description_short` TEXT NULL COLLATE 'utf8_czech_ci',
`description_long` TEXT NULL COLLATE 'utf8_czech_ci',
`description_long_en` TEXT NULL COLLATE 'utf8_czech_ci',
`description_long_de` TEXT NULL COLLATE 'utf8_czech_ci',
`description_long_sk` TEXT NULL COLLATE 'utf8_czech_ci',
`has_comments` TINYINT(1) NULL DEFAULT NULL,
`active` TINYINT(1) NULL DEFAULT NULL,
`warranty` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`date_add` DATETIME NULL DEFAULT NULL,
`date_edit` DATETIME NULL DEFAULT NULL,
`view_count` INT(11) NULL DEFAULT NULL,
`url` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`sticky` TINYINT(1) NULL DEFAULT NULL,
`delivery_date` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`possible_buy` TINYINT(1) NULL DEFAULT NULL,
`var1` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`var2` VARCHAR(255) NOT NULL DEFAULT '' COLLATE 'utf8_czech_ci',
`var3` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`var4` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`var5` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`poradi` INT(11) NOT NULL DEFAULT '0',
`tax_rates_id` INT(11) NULL DEFAULT NULL,
`cache_url` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`description_en` TEXT NULL COLLATE 'utf8_czech_ci',
`name_en` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`ics` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`var_cz` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`var_en` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`branch` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`cast` VARCHAR(10) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`podc` VARCHAR(10) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`weight` DECIMAL(15,5) NULL DEFAULT NULL,
`image` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_czech_ci',
`stupen` VARCHAR(40) NOT NULL COLLATE 'utf8_czech_ci',
PRIMARY KEY (`id`)
) COLLATE='utf8_general_ci' ENGINE=InnoDB;