Редактиране на MySQL тип чрез alter table

Видях, че има хора които се затрудняват когато им се наложи да променят тип на колона в MySQL. Примерно един приятел направил таблица и колоната X е от тип varchar(500), но след време установява, че тази колона иска да бъде от тип "text", а не varchar. Той дъмпнал цялата таблица и ръчно заместил varchar(500) със "text" и всичко било наред, но това рационално ли е ? НЕ

Решението е:
Могат да се ползват два вида метода:

1. Alter table change
При първия метод се изисква да се въведе старо име на колона и ново:

ALTER TABLE t1 CHANGE a b INTEGER;

или

ALTER TABLE t1 CHANGE b b INTEGER;

2. Alter table modify (Аз лично бих използвал този метод):

ALTER TABLE t1 MODIFY b BIGINT NOT NULL;

Има  вариант където колоната е ключова дума (примерно вместо b -> desc). По този начин ще изведе грешка и няма да промени името или типа на колоната. За да се направи промяна се добавя и таблицата т.е.

alter table t1 change tablica.b tablica.novo_ime text;

За повече информация тук: Mysql Reference Manual

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)
Редактиране на MySQL тип чрез alter table, 5.0 out of 5 based on 1 rating

Вашият коментар

Вашият email адрес няма да бъде публикуван Задължителните полета са отбелязани с *