Autor | Zpráva | ||
---|---|---|---|
AntonP Profil |
Dobrý deň,
prejdem hneď k veci. Potreboval by som vedieť, akým SQL príkazom vymažem PRIMARY KEY zo stĺpca "id" a tabuľky "all_tickets". Hľadal som, ale nefunfuje ani jeden z nájdených. Ďakujem za každú radu, poprípade celý príkaz. Prajem pekný zvyšok dňa. // Našiel som iba tento príkaz: ALTER TABLE all_tickets DROP PRIMARY KEY; |
||
Kajman Profil |
#2 · Zasláno: 19. 12. 2017, 12:23:27
Vypadá to korektně. Co nyní ukazuje následující příkaz?
SHOW CREATE TABLE all_tickets Co hlásí příkaz z [#1] za chyby či varování? |
||
kolemjdoucí Profil * |
#3 · Zasláno: 19. 12. 2017, 12:59:26
Doporučuji pro správu databází adminer a ten tyhle věci umí na jedno dvě kliknutí.
Používám ho již řadu let a nejen pro všelijaké indexy, ale i samotnou správu je to neocenitelný pomocník. |
||
AntonP Profil |
#4 · Zasláno: 19. 12. 2017, 13:42:07
Kajman:
Prvý príkaz hlási chybu: #1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
Príkaz, ktorý ste napísali ukáže ![]() |
||
Kajman Profil |
#5 · Zasláno: 19. 12. 2017, 13:50:27
AntonP:
A text za těmi třemi tečkami ve sloupci Create Table mi řekne věštecká koule? Dejte sem text, co to vrací, ne screenshot s kouskem textu, co to vrací. Možná budete muset u sloupce id zrušit vlastnost autoincrement, ale bez toho chtěného textu se to nedá poskládat. |
||
AntonP Profil |
#6 · Zasláno: 19. 12. 2017, 13:57:30
Ospravedlňujem sa, keď som na to klikal tak sa nič nedialo, tak som myslel, že to je asi všetko.
CREATE TABLE `all_tickets` ( `id` int(6) unsigned NOT NULL AUTO_INCREMENT, `subject` varchar(30) COLLATE utf8_czech_ci NOT NULL, `description` varchar(500) COLLATE utf8_czech_ci NOT NULL, `creator` varchar(30) COLLATE utf8_czech_ci NOT NULL, `status` varchar(100) COLLATE utf8_czech_ci DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci |
||
Kajman Profil |
Zkuste nejdříve odstranit vlastnost auto_increment u sloupce id a pak teprve primární klíč odstranit.
ALTER TABLE `all_tickets` MODIFY COLUMN `id` int(6) unsigned NOT NULL; ALTER TABLE `all_tickets` DROP PRIMARY KEY; Ale fantazie mi dochází, když se snažím představit důvody, které k tomuto požadavku vedly. |
||
AntonP Profil |
#8 · Zasláno: 19. 12. 2017, 14:22:03
Ďakujem, funguje. No, ide o to, že to je ticket systém. Keď sa ticket vytvoril, tak mu php dalo vždy hodnotu id o 1 väčšiu ako je najväčšie id v stĺpci. Ale očividne keď na tom ID bol PRIMARY KEY, tak vždy keď som vymazal ticket napr. s id 5 a vytvoril ďalší, tak to nevytvorilo ticket s id 5 - aj napriek tomu, že zázanm s id 5 tam už nebol - ale s ID 6. Teraz to už aj po zmazaní a znovuvytvorení funguje a vytvrára pekne porade. Ďakujem za pomoc
|
||
Kajman Profil |
#9 · Zasláno: 19. 12. 2017, 15:08:11
|
||
Časová prodleva: 5 let
|
0