2015-04-15 42 views
0

我嘗試爲文章材料創建最簡單的表,但MySQL爲我創建了另一個不需要的主鍵。MySQL創建另一個主鍵

$command = "CREATE TABLE IF NOT EXISTS `$this->table` (
      `id` int unsigned UNIQUE NOT NULL AUTO_INCREMENT PRIMARY KEY, 
      `title` varchar(200), 
      `body` text, 
      `author` varchar(100), 
      `last_moderator` varchar(100), 
      `category` int(10), 
      `cdate` datetime, 
      `lmdate` datetime, 
      `commentable` boolean, 
      `active` boolean) CHARACTER SET utf8 COLLATE utf8_bin 
       "; 

下面是查詢。正如你所看到的,我需要id作爲主鍵,但是這個查詢結果有兩個主鍵:idbody。人們幫助我 - 我冥想了20分鐘的查詢,但我沒有看到任何錯誤。

+0

是不是身體上主鍵或只是一個指數?我檢查了你的查詢,它只在id上創建了pk。 – moo

回答

0

呃,不,它不.... body沒有被定義爲一個關鍵,主要或以其他方式:

mysql> CREATE TABLE IF NOT EXISTS `myTable` (
    ->    `id` int unsigned UNIQUE NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    ->    `title` varchar(200), 
    ->    `body` text, 
    ->    `author` varchar(100), 
    ->    `last_moderator` varchar(100), 
    ->    `category` int(10), 
    ->    `cdate` datetime, 
    ->    `lmdate` datetime, 
    ->    `commentable` boolean, 
    ->    `active` boolean) CHARACTER SET utf8 COLLATE utf8_bin; 
Query OK, 0 rows affected (0.02 sec) 

mysql> show indexes from myTable; 
+---------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ 
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | 
+---------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ 
| myTable |   0 | PRIMARY |   1 | id   | A   |   0 |  NULL | NULL |  | BTREE  |   |    | 
| myTable |   0 | id  |   1 | id   | A   |   0 |  NULL | NULL |  | BTREE  |   |    | 
+---------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ 
2 rows in set (0.00 sec) 
+0

http://i58.fastpic.ru/big/2015/0415/e9/01f13c9d79dad180759d54f42b5594e9.png 也許託管服務提供商'讓'我的大腦? – user3493623

+0

你可能會在'body'上創建一個額外的鍵,但它不是那個命令;並且它不能成爲第二個主鍵,因爲MySQL只允許每個表有一個主鍵 –

+0

Mark,我知道,但我的眼睛告訴我絕對不同的東西。 Actully這就是爲什麼我在這裏 – user3493623

相關問題