簡體   English   中英

如何創建沒有主鍵的int列?

[英]How to create an int column without primary key?

我在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

收到不需要的主鍵后,我在做什么錯? 我可以以某種方式刪除主鍵,以便輸入重復的值嗎?

如果你的桌子是

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

SQLFiddle演示

我沒有看到這種行為。 您大概在創建時沒有從“索引”下拉列表中選擇任何內容嗎? 您有什么phpMyAdmin版本?

我已經從您描述的表格開始,然后轉到“結構”選項卡和“在表格末尾添加1列”,然后按go。

在該頁面上,我鍵入“名稱”“ image_order”,我不需要更改“類型”,因為默認值為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。 例如,請參閱主鍵和唯一鍵之間的區別以獲取更多詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM