我需要向一个表中添加多个列,但将after列定位为一个名为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语法有错误;查看手册


推荐答案

试试这个

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`;

判断syntax

Mysql相关问答推荐

在SQL中,为什么:=即使条件为False,也会在case声明中执行?我如何修复这个问题?

添加日期日期,而不使用addDate

—符号在哪里条件""

慢查询日志(log)甚至包括快速查询,因为它包括等待锁定所花费的时间

找出同一表中列A中的每个值在列B中出现的次数

如何在使用VALUES()插入时指定jOOQ中的行别名

可以优化这个带有重复WHERE子句的查询吗?

MySQL滑动窗口动态间隔?

我是否需要在 N+1 列上建立索引,才能有效地在 N 列上执行 SELECT,并按其他列排序?

MySQL MDL(元数据锁)为什么会导致死锁?

即使在某些表中不匹配,如何从 MySQL 中的多个表中 Select 所有记录

从 R 脚本创建新的 MYSQL 数据库

即使使用索引,MySQL 计数和按查询分组也很慢

了解 Spring 和数据库级别的事务?

为什么一个 10 位的电话号码不能存储在长度为 10 的整数中?

我在查询中没有得到正确的结果

Mysql insert with loop out of select 语句

MySQL - 如何 Select 值在数组中的行?

一次查询 MySQL 插入多行

WHERE 子句中的条件顺序会影响 MySQL 性能吗?