Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Замена типа varchar на date


Автор: studentigor 26.10.2010, 14:28
Всем привет!!!
поглупости сделал в базе mysql поле для хранения даты - varchar, собрал около 100 000 записай, и теперь возникла такая потребность, 
заменить тип поля с варчара на date.
Возможно ли сделать это какимто скриптом, без потери данных?

Автор: CruorVult 26.10.2010, 14:49
Данные не потеряются если были записаны в правильном формате.
делается это запросом 
Код

ALTER TABLE `table_name` CHANGE `date` `date` DATE NOT NULL

Автор: skyboy 26.10.2010, 14:58
CruorVult, ого. а не подскажешь, какой формат наверняка обработается безпроблемно?
а то я бы решал через add column + http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_str-to-date@update + drop column

Автор: CruorVult 26.10.2010, 21:13
skyboy, yyyy-mm-dd скажешь из строкового не переобразуется в date?

Автор: skyboy 26.10.2010, 21:22
Цитата(CruorVult @  26.10.2010,  20:13 Найти цитируемый пост)
skyboy, yyyy-mm-dd скажешь из строкового не переобразуется в date? 

тогда не было возможности, сейчас - проверю.
нет, как константа в запросе - конечно, приводится к типу datetime. но будет ли такое работать при смене типа - хотел бы не идею услышать, а утверждение, что да, проверено и работает.

Автор: skyboy 26.10.2010, 22:45
ага. отлично работает. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)