在 Informix DB 中更改表查询

Posted

技术标签:

【中文标题】在 Informix DB 中更改表查询【英文标题】:Alter table query in Informix DB 【发布时间】:2011-02-01 11:02:59 【问题描述】:

DBMS:Informix。

我有一个带有 5 3 个字段的表 sample_tbl,它们是:

user_id, 用户名, user_email

现在我想通过一个 alter 查询将以下字段添加到 sample_tbl 中以添加列。新字段是:

user_phone_no, 用户位置, 用户密码

我想在 user_id 之后添加 user_phone_no,我想在 user_email 字段之后添加 user_location、user_password,所有这些都通过一个查询。对此有何建议?

【问题讨论】:

为什么要关心列的顺序?我希望你没有在你的应用程序中使用像SELECT * FROM sample_tbl...这样的查询... 您说的是 5 个字段,但您只命名了 3 个。 列的顺序很重要,因为它是家庭作业。在过去,当 DBMS 是 Informix 标准引擎 (SE) 时,顺序也很重要,其中 C-ISAM 用于存储格式,并且 C-ISAM 文件也可由用 C-ISAM 编写的程序(以及 SE 本身)访问)。曾几何时,20 多年前,这很常见。现在,它非常罕见,谢天谢地。 【参考方案1】:

根据IBM online docs Informix v10 允许ALTER TABLE ADD column BEFORE existing_column

所以这样的事情可以工作(我在这台计算机上没有 Informix 连接)...

ALTER TABLE sample_tbl
ADD user_phone_no varchar(10) BEFORE user_name,
ADD user_location varchar(10),
ADD user_password varchar(10);

【讨论】:

应该可以正常工作-手动抨击做得很好。从 1985 年的 1.10 到 2010 年的 11.70,每个版本的 Informix 都使用了这种表示法。 我不是在抨击手册。我只是在谷歌上搜索了答案,但问题中没有任何版本的迹象......我只是玩过从 v4 到 v9 的 Informix。

以上是关于在 Informix DB 中更改表查询的主要内容,如果未能解决你的问题,请参考以下文章

Informix 日期查询 GROUP BY Month

informix数据库锁表处理方法

表列表(在 DB2、SQL Server、Informix 和 Oracle 中)

informix 锁表问题

当表没有 SELECT 权限时,如何在 informix db 中卸载表?

如何删除在线表informix Db中的大量行