我在phpmyadmin工作,我有一个包含以下列的SQL表:
image_id, int(11), AUTO_INCREMENT, Primary key, Unique
image_name, text
photographer, text
collection, text
当我尝试将新的int
列添加到我要调用的表image_order
时,我总是最终获得属性:primary key and unique
。
因为我收到了不需要的主键,我做错了什么?我可以以某种方式删除主键,以便输入重复值吗?
答案 0 :(得分:0)
如果你的表是
create table images
(
image_id int(11) AUTO_INCREMENT Primary key,
image_name text,
photographer text,
collection text
);
然后使用它来添加列
alter table images
add column image_order int
答案 1 :(得分:0)
我没有看到这种行为。你可能不会从"索引"中选择任何东西。创建时的下拉菜单?您有什么phpMyAdmin版本?
我已按照您的描述开始使用表格,然后转到结构选项卡,并在表格末尾添加1列#34;然后按吧。
在该页面上,我输入"名称" ' image_order',我不需要更改" Type"因为默认值是INT。无需改变任何其他内容:
这给出了预期的结果:
CREATE TABLE IF NOT EXISTS `stackdemo` (
`image_id` int(11) NOT NULL,
`image_name` text NOT NULL,
`photographer` text NOT NULL,
`collection` text NOT NULL,
`image_order` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
ALTER TABLE `stackdemo`
ADD PRIMARY KEY (`image_id`), ADD UNIQUE KEY `image_id` (`image_id`);
ALTER TABLE `stackdemo`
MODIFY `image_id` int(11) NOT NULL AUTO_INCREMENT;
向我们展示如何创建附加列,以防万一有些奇怪的东西,但它似乎对我有用。
另外,您可能不需要定义UNIQUE 和 PRIMARY键;这里可能只需要PRIMARY。有关更多详细信息,请参阅difference between primary key and unique key。