如何使用特定的增量值启动mysql列?
在mysql表中,我有一个名为invoice\u id的列。其中,我手动输入发票编号,该编号仅为int。它具有任意值,如111、5545、5655等 现在我希望它是一个唯一的自动增量值。从9000开始。 但我也希望以前的值也能保持不变 知道如何更改mysql表吗?查看附加图像以了解更多详细信息如何使用特定的增量值启动mysql列?,mysql,sql,database,Mysql,Sql,Database,在mysql表中,我有一个名为invoice\u id的列。其中,我手动输入发票编号,该编号仅为int。它具有任意值,如111、5545、5655等 现在我希望它是一个唯一的自动增量值。从9000开始。 但我也希望以前的值也能保持不变 知道如何更改mysql表吗?查看附加图像以了解更多详细信息 您可以这样做: ALTER TABLE invoice AUTO_INCREMENT = 9000; 有关更多信息,请查看。考虑以下事项: DROP TABLE IF EXISTS my_table;
您可以这样做:
ALTER TABLE invoice AUTO_INCREMENT = 9000;
有关更多信息,请查看。考虑以下事项:
DROP TABLE IF EXISTS my_table;
CREATE TABLE my_table
(id SERIAL PRIMARY KEY
,invoice_no INT NOT NULL UNIQUE
);
INSERT INTO my_table (invoice_no) VALUES (111),(5545),(5655);
INSERT INTO my_table (invoice_no) VALUES (9000);
INSERT INTO my_table (invoice_no) SELECT MAX(invoice_no +1) FROM my_table;
SELECT * FROM my_table;
+----+------------+
| id | invoice_no |
+----+------------+
| 1 | 111 |
| 2 | 5545 |
| 3 | 5655 |
| 4 | 9000 |
| 5 | 9001 |
+----+------------+
INSERT INTO my_table (invoice_no) SELECT MAX(invoice_no +1) FROM my_table;
SELECT * FROM my_table;
+----+------------+
| id | invoice_no |
+----+------------+
| 1 | 111 |
| 2 | 5545 |
| 3 | 5655 |
| 4 | 9000 |
| 5 | 9001 |
| 6 | 9002 |
+----+------------+
你的意思是=9000,因为这是OP要求的。@PritamBanerjee像这样更改表分类账修改发票\u无自动\u增量=9000;其中ledger是我的表名,invoice_no是列名?不,只是我在答案中发布的方式。看看我包含的链接。改变表t1自动增量=13@MosarofHossain不会这么做。尽管名称不同,自动递增功能并不用于向序列中添加递增数字。除了确定列中的数字是唯一的之外,它没有其他用途。它们是递增的这一事实是任意的,通常是忽略的。如果您已经有一些发票号9000或更高,您知道吗?