Autor Zpráva
one_k
Profil
Zdravim mam problem.

CREATE TABLE `table` (
`id` bigint(20) default NULL,
`status` varchar(10) collate latin2_czech_cs default NULL,
`hash` varchar(50) collate latin2_czech_cs default NULL,
UNIQUE KEY `uniq_key` (`status`),
) ENGINE=MyISAM DEFAULT CHARSET=latin2 COLLATE=latin2_czech_cs |


Tak a ted potrebuju pridat sloupec `hash` pod klic `uniq_key`..
Jak na to?

Zkousel jsem to pres ALTER TABLE, ale neslo to, jelikoz to selze na zdvojeni klice..
Napadlo me cely tento klic smazat a vytvorit znovu s obema sloupcema, ale to bych nerad delal(chci vedet jak to pude jinak)?

EDIT: Jedna se o MySQL 5.xx
Joker
Profil
DROPnout ten klíč a potom ho znovu vytvořit?

Alespoň tak to myslím dělá phpMyAdmin
one_k
Profil
A muzu videt priklad toho dotazu? Me MySQL porad vypisuje chybu za DROP..

alter table `table` drop unique (status); -> chyba
alter table `table` drop constraint uniq_key; -> chyba

Mam ten dotaz spatne a nevim kde:( Vyse uvedene dotazy jsou jen zlomkem z vsech moznych ktere jsem zkousel..
Hugo
Profil
alter table `table` drop key status;
one_k
Profil
Hugo
error 1091 -> nemnohu zrusit status -> zkontrolujte zda neexistuji zaznamy/klice

bohuzel vadi mu klic 'uniq_key'
Hugo
Profil
alter table `table` drop key `uniq_key`;
alter table `table` add unique key `uniq_key`(`status`, `hash`);

Ten klič se jmenuje uniq_key, špatně jsem se podíval.
one_k
Profil
jj ted sem to zjistil. Diky za radu. Funguje to. :)
A delat to nejak jinak nez pres drop to nelze?
Toto téma je uzamčeno. Odpověď nelze zaslat.