2010-05-05 2 views
-1

Кто-нибудь знает, как изменить столбец SQLite и PostgreSQL на LONGTEXT?SQLite и PostgreSql longtext

Я успешно сделал это в MySQL: "ALTER TABLE project MODIFY description LONGTEXT;"

Но этот пункт, похоже, не работает на SQLite. Я очень старался найти документацию на PostgreSQL, но формат этого сайта действительно заставляет людей бояться. Сайт SQLite лучше, но единственная команда, которую я нахожу релевантной, изменяет таблицу, похоже, вообще не поддерживает изменение типа данных столбцов. (infact, он даже не позволяет изменять название колонки !!!)

Спасибо всем!

ответ

1

Для PostgreSQL, см документа here (например, ALTER TABLE my_table ALTER COLUMN my_col text).

В SQLite Doc состояния

SQLite поддерживает ограниченное подмножество ALTER TABLE. Команда ALTER TABLE в SQLite позволяет пользователю переименовать таблицу или добавить новый столбец в существующую таблицу. Невозможно переименовать столбец, удалить столбец или добавить или удалить ограничения из таблицы.

И я полагаю, что изменение типа данных столбца выходит за рамки. Вероятно, чтобы поддержать это, вам нужно будет сделать SELECT * INTO ... с последующим DROP TABLE ..., а затем создать таблицу и запустить INSERT INTO ... SELECT * FROM ...

+0

Хорошо, я иду с вашим подходом и благодарю за ссылку. –

1

AFAIK, PostgreSQL не имеет ограничений на капли, поэтому не беспокойтесь.

SQLite3, по-видимому, не заботится о типе столбца в этом случае (то есть текст является таким же, как LONGTEXT)

+0

Я вижу. Спасибо за примечание –

+1

SQLite * делает * поддержку ADD COLUMN. Однако вы не можете удалить столбцы. – dan04

+0

Sqlite поддерживает оба, я думаю. // Это намного лучше, чем mssql. – Behrooz

1

Я не знаю, какие проблемы у вас с Postresql documentation, это довольно хорошо ИМО.

Чтобы изменить тип столбца, here - это синтаксис.

Postgres поддерживает произвольные длинные строки (ну, до 2 ГБ или около того) с помощью TEXT datatype.

+0

Я должен сказать, что поиск соответствующих вещей в руководстве, в любом руководстве, имеет много общего с тем, насколько вы знакомы с ним. Документация, подобная PrototypeJS, Rails, Ruby, по моему мнению, даже с небольшим опытом, позволяет быстро найти то, что ему нужно. Ну, ладно, я сначала отправился на сайт postgresql для документации, была четкая ссылка. Я пошел туда и пошел с 8.4 с комментарием, тогда, может быть, b/c. Я не очень хорошо знаю условия в БД, я инстинктивно искал что-то вроде изменения таблицы, но не нашел ни одного. Но сравните это с MySQL, это намного лучше. –

+0

@Nik Хммм ... лично я ненавижу RDoc, но нашел формат PostgreSQL довольно прямолинейным ...По-моему, разные удары. – ig0774

+0

Используется для того, чтобы ненавидеть RDoc, тогда он стал немного более терпимым, и после нескольких сеансов кодирования в зоне стало намного лучше. Мои предрассудки, о которых я сожалею, выражая их так небрежно, пришли из чтения документации MySQL. Мышление баз данных «Теперь, когда я смотрю на страницы, которые вы упомянули и Леонблой, я должен сказать, что это выглядит великолепно. Я думаю, что это я, кто не знает, «Определение данных» - это то, где вы можете выкопать то, о чем я просил. –

2

Нет смысла объявлять столбец LONGTEXT в SQLite. Все имена типов с TEXT или CHAR или CLOB в них эквивалентны.

Смежные вопросы