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
alter table add ... before `code`?
提问by Hailwood
ALTER TABLE tada_prod
.action_6_weekly
ADD COLUMN id
INT NULL AUTO_INCREMENT UNIQUE AFTER member_id
;
更改表tada_prod
。action_6_weekly
ADD COLUMN id
INT 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;