Adding multiple columns AFTER a specific column in MySQL
我需要向表中添加多个列,但将列放在名为lastname的列之后。
我试过这个:
我收到此错误:
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 ') AFTER lastname' at line 7
如何在这样的查询中使用AFTER?
-
你在说什么方言? 看起来像我的mysql。 但ALTER TABLE语法在方言之间有所不同。
-
对不起,是的mysql。
-
可能重复的MySQL Alter Table添加字段在已存在的字段之前或之后
-
我认为您需要在每个要添加的列上使用AFTER关键字。 这是否意味着您需要将所有3个作为姓后或每个新列的单独的ALTER TABLE语句,我无法肯定地说。
试试这个
检查语法
-
[作为附加信息]在单个ALTER TABLE语句中允许多个ADD,ALTER,DROP和CHANGE子句,以逗号分隔。这是标准SQL的MySQL扩展,它只允许每个ALTER TABLE语句中的一个子句。
-
就是我想弄清楚的......
如果要在特定字段后添加单个列,则以下MySQL查询应该有效:
如果要添加多个列,则每次都需要对列使用"ADD"命令。这是MySQL的查询:
要点注意
在第二种方法中,最后一个ADD COLUMN列实际上应该是要附加到表的第一列。
例如:如果你想在lastname之后按照确切的顺序添加count,log,status,那么语法实际上是:
-
有多列的第二个版本对我没用。
-
第二个版本对我来说非常好。我正在使用MySql 5.5.25。
-
最后一位代码是按count,log,status或count,status,log的顺序添加列的吗?
-
注意:如果你没有添加'AFTER lastname'位,那么你在alter table list中放入的最后一列的排序并不真正适用。所以当你做ALTER TABLE表时ADD COLUMN blah1,ADD COLUMN blah2; (注意没有'AFTER'子句),列blah1将首先附加,然后是blah2。
-
它也适用于mysql 5.5.35
您不能使用ADD COLUMN使用逗号提及多个列名称。每次定义新列时都需要提及ADD COLUMN。
这个是正确的:
你可以用这个来做,对我来说很好。
一种可能性是不打扰重新排序表中的列,只需通过添加列来修改它。然后,创建一个视图,其中包含所需顺序的列 - 假设顺序非常重要。可以轻松更改视图以反映您想要的任何排序。由于我无法想象订单对程序化应用程序很重要,因此该视图应该足以满足那些可能重要的手动查询。
-
如果我可以加上我的两分钱,"放置"是表格列还是行,应该是无关紧要的。电子表格使用位置来查找内容,数据库则不会。
默认值为0的解决方案如下
这对我来说很好: