MySQL 在`code`之前改变表添加...?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/3402310/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-31 16:45:57  来源:igfitidea点击:

alter table add ... before `code`?

mysqlalter-table

提问by Hailwood

ALTER TABLE tada_prod.action_6_weeklyADD COLUMN idINT NULL AUTO_INCREMENT UNIQUE AFTER member_id;

更改表tada_prodaction_6_weeklyADD COLUMN idINT NULL AUTO_INCREMENT UNIQUE AFTER member_id;

works,

作品,

so i thought, to add the column as the first column i could do

所以我想,将该列添加为我可以做的第一列

ALTER TABLE `tada_prod`.`action_6_weekly`     ADD COLUMN `id` INT NULL AUTO_INCREMENT UNIQUE BEFORE `code`;

but i get a syntax error, what is the correct syntax?

但我收到一个语法错误,正确的语法是什么?

回答by Ben Hoffstein

ALTER TABLE `tada_prod`.`action_6_weekly`
ADD COLUMN `id` INT NULL AUTO_INCREMENT UNIQUE FIRST;

回答by php

You can add column only after particular field or at first not before. The mysql query for add column after particular filed is:
ALTER TABLE table_name ADD COLUMN column_name VARCHAR(30) AFTER column_name

您只能在特定字段之后添加列,也可以先添加列。在特定字段后添加列的 mysql 查询是:
ALTER TABLE table_name ADD COLUMN column_name VARCHAR(30) AFTER column_name

回答by mnrmon

Actually,

实际上,

alter table table_name ADD column_name VARCHAR(12) NOT NULL BEFORE specific_column_name;

This command is not allowed in mySQL syntax. If you use it I think you get

mySQL 语法中不允许使用此命令。如果你使用它,我想你会得到

" ERROR 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'before specific_column_name' at line 1 " message.

“错误 1064:您的 SQL 语法有错误;请检查与您的 MySQL 服务器版本相对应的手册,以获取在第 1 行的‘before specific_column_name’附近使用的正确语法”消息。

You can try:

你可以试试:

ALTER TABLE table_name ADD column_name VARCHAR(12) NOT NULL FIRST;