phpbar.de logo

Mailinglisten-Archive

Feldernamen eines Keys

Feldernamen eines Keys

Sabine Richter mysql-de_(at)_lists.bttr.org
Tue, 30 Apr 2002 17:40:10 +0200


Hallo Patrick,

ich würde mal vermuten, daß mysql die keys einfach durchzählt. Wenn es
bei 1 anfängt, dann wäre  UNIQUE KEY `p_key1`(`type`,`code`) key 3. Wenn
es mit 0 anfängt, dann  KEY `pasdow`(`type`,`name`). Allerdings paßt nur
Var 1 zu Deinen inserts und der Fehlermeldung. 
Du könntest das ja auch mal experimentell ermitteln und mal 1 Tabelle
mit nur 1 unique key erzeugen + die Fehlermeldung provozieren...

Gruß
Sabine

Patrick Bierans wrote:
> 
> Jeder von euch kennt diese Fehlermeldung:
> Duplicate entry '1-1' for key 3
> 
> Frage:
> Wie bekomme ich raus, wie die Felder heissen aus denen sich der
> Schlüssel 3 zusammen setzt?
> 
> Beispiel:
> 
> CREATE TABLE `food` (
>   `id` int(11) NOT NULL auto_increment,
>   `type` int(11) NOT NULL default '0',
>   `code` int(11) NOT NULL default '0',
>   `name` char(3) default NULL,
>   `name2` char(3) default NULL,
>   PRIMARY KEY (`id`),
>   UNIQUE KEY `pasdsow`(`type`,`name2`),
>   UNIQUE KEY `p_key1`(`type`,`code`),
>   KEY `pasdow`(`type`,`name`)
> )
> insert into food (type, code) values (1, 1);
> insert into food (type, code) values (1, 1);
> 
> ERROR 1062: Duplicate entry '1-1' for key 3
> 
> Show Index from food;
> +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+---------+
> | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Comment |
> +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+---------+
> | food  |          0 | PRIMARY  |            1 | id          | A         |           1 |     NULL | NULL   |         |
> | food  |          0 | pasdsow  |            1 | type        | A         |           0 |     NULL | NULL   |         |
> | food  |          0 | pasdsow  |            2 | name2       | A         |        NULL |     NULL | NULL   |         |
> | food  |          0 | p_key1   |            1 | type        | A         |           0 |     NULL | NULL   |         |
> | food  |          0 | p_key1   |            2 | code        | A         |        NULL |     NULL | NULL   |         |
> | food  |          1 | pasdow   |            1 | type        | A         |           1 |     NULL | NULL   |         |
> | food  |          1 | pasdow   |            2 | name        | A         |           1 |     NULL | NULL   |         |
> +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+---------+
> --
> Nirgend steht, daß mit 'key 3' der Schlüssel 'p_key1' gemeint ist.
> 
> Ideen?
> 
> P. Bierans
> 
> --
> Patrick Bierans - LYNET Kommunikation AG - http://www.lynet.de
> Das Internet-Systemhaus fuer Multimedia- und Netzwerkloesungen
> Zentrale Luebeck      Fon +49-451-6131-0, Fax +49-451-6131-333
> Niederlassung Hamburg Fon +49-40-65738-0, Fax +49-40-65738-333
> 
> ---
> Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
> -->>  http://www.4t2.com/mysql

---
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive