2010-05-05 129 views
-1

有谁知道如何将SQLite和PostgreSQL中的列更改为LONGTEXT?SQLite和PostgreSql longtext

我已经在MySQL中成功完成了: “ALTER TABLE projects MODIFY description LONGTEXT;”

但是这个条款似乎不适用于SQLite。我努力寻找关于PostgreSQL的文档,但该网站的格式真的让人呕吐。 SQLite的网站更好,但我发现唯一相关的命令alter table似乎并不支持更改列数据类型。 (事实上​​,它甚至不允许更改列名!!!)

谢谢大家!

回答

1

对于PostgreSQL,看不到该文档here(例如,ALTER TABLE my_table ALTER COLUMN my_col text)。

SQLite文档状态

SQLite支持ALTER TABLE的有限子集。 SQLite中的ALTER TABLE命令允许用户重命名表或将新列添加到现有表中。无法重命名列,删除列或添加或删除表中的约束。

而且我想改变列的数据类型超出了范围。可能支持这一点,你将需要DROP TABLE ...SELECT * INTO ...其次,然后创建表和运行INSERT INTO ... SELECT * FROM ...

+0

好的,我将采用您的方法,并感谢您的链接。 – 2010-05-05 02:37:08

1

AFAIK,PostgreSQL对blob没有限制,所以不用担心。

sqlite3的,很显然,不关心在这种情况下,列类型(即TEXT相同LONGTEXT)

+0

我明白了。感谢提示 – 2010-05-05 02:31:24

+1

SQLite *支持ADD COLUMN。不过,您不能移除列。 – dan04 2010-05-05 06:55:20

+0

我认为Sqlite支持这两种方法//它比mssql好得多。 – Behrooz 2010-05-05 11:50:56

1

我不知道你有什么问题Postresql documentation,这是相当不错的IMO。

要更改列数据类型,here是语法。

Postgres支持使用TEXT datatype的任意长字符串(以及高达2 GB左右)。

+0

我必须说,在手册中找到相关的东西,任何手册,都与你对它的熟悉程度有很大关系。在我看来,像PrototypeJS,Rails,Ruby这样的文档,即使没有什么经验,也可以很快找到他需要的东西。好吧,我首先去了postgresql的文档站点,有一个明确的链接。我去了那里,然后和8.4一起评论,然后也许我们不太熟悉DB中的术语,我本能地寻找像修改表格这样的东西,但没有发现任何东西。但将它与MySQL相比,确实好多了。 – 2010-05-05 02:36:46

+0

@Nik嗯......我个人讨厌RDoc,但是发现PostgreSQL的格式非常简单...不同的笔画,我想。 – ig0774 2010-05-05 02:39:14

+0

用于讨厌RDoc,然后它变得更容易一些,经过几次区域内编码会议后,它变得好多了。 我的偏见,现在我很遗憾地表达他们如此不小心,来自阅读MySQL的文档。思考数据库'现在我正在查看你和Leonbloy提到的页面,我必须说它看起来很棒。 我认为这是我不知道“数据定义”是你可以挖掘我问到的东西。 – 2010-05-05 03:50:56

2

在SQLite中声明LONGTEXT列毫无意义。所有类型名称均与TEXTCHARCLOB相同。