【问题标题】:Add new column after existing column in sqlite在 sqlite 中的现有列之后添加新列
【发布时间】:2017-02-24 13:40:21
【问题描述】:

我需要一个 SQL 查询,它在现有列之后添加一个新列,
因此该列将按特定顺序添加。

ALTER TABLE table_name ADD COLUMN  MiddleName varchar(50) AFTER Gender.

【问题讨论】:

  • 您使用的是 MS SQL Server 还是 Sqlite?
  • 这是FAQ

标签: sql sql-server sqlite


【解决方案1】:

你有两个选择。首先,您可以简单地添加一个包含以下内容的新列:

ALTER TABLE {tableName} ADD COLUMN COLNew {type};

第二,更复杂,但实际上会将列放在您想要的位置,将重命名表:

ALTER TABLE {tableName} RENAME TO TempOldTable;

希望对您有所帮助。

【讨论】:

  • 感谢 Asif 的及时回复。我想用现有列添加新列。假设我有 4 列 FirstName、LastName、Email、Gender、City。当我将执行 ALTER TABLE {tableName} ADD COLUMN COLNew {type};此查询将在 City(LastColumn) 之后添加新列,但我将在“性别”之后添加。这是我的要求。
  • @sureshchouksey 在 SQLite 中不能使用 ALTER TABLE 语句在两个现有列之间添加列。这个works as designed。新列始终附加到现有列列表的末尾。要在表行中的特定位置添加列,请使用 FIRST 或 AFTER col_name。默认是最后添加列。您还可以在 CHANGE 或 MODIFY 操作中使用 FIRST 和 AFTER 对表中的列进行重新排序。
  • @sureshchouksey 可能重复这可能会帮助你here
猜你喜欢
  • 1970-01-01
  • 2011-06-11
  • 1970-01-01
  • 2015-08-22
  • 2015-10-26
  • 1970-01-01
  • 2017-01-11
  • 1970-01-01
  • 2018-06-28
相关资源
最近更新 更多