当前位置: 首页 > 知识库问答 >
问题:

在MySQL中在特定列后添加多列

龚威
2023-03-14

我需要在一个表中添加多个列,但将这些列放在一个名为lastname的列之后。

我试过这个:

ALTER TABLE `users` ADD COLUMN
(
    `count` smallint(6) NOT NULL,
    `log` varchar(12) NOT NULL,
    `status` int(10) unsigned NOT NULL
) 
AFTER `lastname`;

我得到这个错误:

您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以了解在lastname'后面第7行的')处使用的正确语法


如何在这样的查询中使用AFTER?

共有2个答案

华献
2023-03-14

如果您希望在特定字段后添加单个列,那么下面的MySQL查询应该可以工作:

ALTER TABLE users
    ADD COLUMN count SMALLINT(6) NOT NULL
    AFTER lastname

如果您想添加多个列,那么您需要对一个列每次使用'add'命令。下面是MySQL对此的查询:

ALTER TABLE users
    ADD COLUMN count SMALLINT(6) NOT NULL,
    ADD COLUMN log VARCHAR(12) NOT NULL,
    ADD COLUMN status INT(10) UNSIGNED NOT NULL
    AFTER lastname

在第二种方法中,最后一个add column列实际上应该是您要追加到表中的第一列。

例如:如果您想在lastname后面按确切顺序添加countlogstatus,那么语法实际上是:

ALTER TABLE users
    ADD COLUMN log VARCHAR(12) NOT NULL AFTER lastname,
    ADD COLUMN status INT(10) UNSIGNED NOT NULL AFTER lastname,
    ADD COLUMN count SMALLINT(6) NOT NULL AFTER lastname
    
欧盛
2023-03-14

试试这个

ALTER TABLE users
ADD COLUMN `count` SMALLINT(6) NOT NULL AFTER `lastname`,
ADD COLUMN `log` VARCHAR(12) NOT NULL AFTER `count`,
ADD COLUMN `status` INT(10) UNSIGNED NOT NULL AFTER `log`;

检查语法

 类似资料:
  • 问题内容: 我需要向一个表中添加多个列,但将这些列放置 在 名为的列 之后。 我已经试过了: 我收到此错误: 您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册,以在第7行的’)AFTER ‘ 附近使用正确的语法 如何在这样的查询中使用AFTER? 问题答案: 尝试这个 检查语法

  • 我正在尝试将多列添加到phpMyAdmin中的现有表中,但我一直收到相同的错误: #1064-您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册以获取正确的语法... 我在写: 我已经参考了过去在StackOverflow上的帖子,我正在遵循专家的建议,那么为什么我会出错呢?

  • 我有一个熊猫数据框,其中一列由列表组成: 我想添加,例如,每个列表的第一个和最后一个索引。为此,我使用: 这分别作用于每一行,如果数据帧很大,这可能会非常密集。有没有办法将此操作矢量化?

  • 问题内容: 我必须按照下面显示的方式创建一个表。我们可以这样创建吗?(如是) 表名称:样本 其中包含多个值的类别归档。 以及我们如何搜索类别4出现在表格的哪一行。 问题答案: 您无法创建嵌套表。而且您想到的并不是设计这样的桌子的好主意。您应该有两个表(如果是category,则恰好三个 表 包含描述)。一个用于,第二个表保存 每个产品 的 类别 。示例设计如下所示, 和填充样本记录 SQLFidd

  • 问题内容: 我正在尝试使用PHP将新列添加到我的MYSQL表中。我不确定如何更改表以创建新列。在我的评估表中,我有: 假设我有一个带有文本框的页面,然后输入文本框并按一个按钮,则表将更新为: 我的代码: 问题答案: 您的桌子: 你也可以

  • 如何使用Alembic或SQLAlchemy将一列接一列地添加到数据库中?这相当于SQL子句: 我也在邮件列表中尝试了这个建议,但没用。 虽然在查询时顺序无关紧要,但在SQL shell中,它有助于提高大型表的可读性。