使列自动递增并重新定位

发布于 2024-10-10 15:22:50 字数 252 浏览 7 评论 0原文

嘿。 我目前正在学习使用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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

身边 2024-10-17 15:22:51

根据ALTER Syntax,您可能希望使用MODIFY 关键字(不是 UPDATE)。

另外,不确定它是否会起作用(取决于您的列定义),但这就是您的做法:

尝试一下:

ALTER TABLE book
MODIFY id AUTO_INCREMENT;

如果不起作用,您需要先删除该列,然后重新添加它:

ALTER TABLE book
DROP COLUMN id;

ALTER TABLE book
ADD COLUMN id INT NOT NULL AUTO_INCREMENT FIRST; -- "FIRST": Add column to beginning

您可能还希望它成为主键,但我不知道您的表结构是什么,所以只是猜测。

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:

ALTER TABLE book
MODIFY id AUTO_INCREMENT;

If it doesn't you'll need to drop the column first, then re-add it:

ALTER TABLE book
DROP COLUMN id;

ALTER TABLE book
ADD COLUMN id INT NOT NULL AUTO_INCREMENT FIRST; -- "FIRST": Add column to beginning

You may also want it to be the PRIMARY KEY, but I don't know what your table structure is so just a guess.

ぺ禁宫浮华殁 2024-10-17 15:22:51

将已经存在的列设置为 AUTO_INCRMENT 和 PRIMARY KEY:

ALTER TABLE t1 MODIFY id int(11) AUTO_INCREMENT PRIMARY KEY

Make an already existing column AUTO_INCREMENT and a PRIMARY KEY:

ALTER TABLE t1 MODIFY id int(11) AUTO_INCREMENT PRIMARY KEY
听你说爱我 2024-10-17 15:22:51

关于排序,您可以使用:

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.

辞慾 2024-10-17 15:22:51
  1. 如果不显示错误消息,很难说出错误是什么......请发布它。
  2. ALTER TABLE t1 ADD col3 VARCHAR(60) AFTER col1;
  1. without showing the error-message, it's hard to say whats the error... please post it.
  2. ALTER TABLE t1 ADD col3 VARCHAR(60) AFTER col1;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文