【问题标题】:Alter table query in Informix DB在 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 多年前,这很常见。现在,它非常罕见,谢天谢地。

标签: sql informix


【解决方案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。
猜你喜欢
  • 2014-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多