使列自动递增并重新定位
嘿。 我目前正在学习使用MySql,有几个问题。
1) 如何更新列(空表)以使其成为 AUTO_INCRMENT 列?我尝试过
ALTER TABLE book UPDATE id AUTO_INCREMENT;
,但出现 SQL 语法错误。
2)如果我添加一个新列,如何更改它在表中的位置?例如,如果我添加一个新列,它将添加到末尾。如果我想把它移到开头怎么办?
谢谢
Hey.
I'm currently learning to use MySql and have a couple of questions.
1) How do I update a column (empty table) to make it an AUTO_INCREMENT column? I tried
ALTER TABLE book UPDATE id AUTO_INCREMENT;
but I get an SQL Syntax error.
2) If I add a new column, how can I change its position in the table? For example, if I add a new column, it's added to the end. What if I want to move it to the beginning?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
根据ALTER Syntax,您可能希望使用MODIFY 关键字(不是 UPDATE)。
另外,不确定它是否会起作用(取决于您的列定义),但这就是您的做法:
尝试一下:
如果不起作用,您需要先删除该列,然后重新添加它:
您可能还希望它成为主键,但我不知道您的表结构是什么,所以只是猜测。
Per the ALTER Syntax you probably want to be using the MODIFY keyword (not UPDATE).
Also, not sure if it will work (depending on your column defintiions), but this is how you'd go about it:
Try this:
If it doesn't you'll need to drop the column first, then re-add it:
You may also want it to be the PRIMARY KEY, but I don't know what your table structure is so just a guess.
将已经存在的列设置为 AUTO_INCRMENT 和 PRIMARY KEY:
Make an already existing column AUTO_INCREMENT and a PRIMARY KEY:
关于排序,您可以使用:
ALTER TABLE table_name ADD column VARCHAR(60) FIRST;
将其移至开头。
Regarding the ordering, you can use:
ALTER TABLE table_name ADD column VARCHAR(60) FIRST;
to move it to the beginning.
ALTER TABLE t1 ADD col3 VARCHAR(60) AFTER col1;
ALTER TABLE t1 ADD col3 VARCHAR(60) AFTER col1;