在mysql表中,我有一个名为invoice_id的列。在这里,我手动输入发票编号(仅为int )。它具有诸如111、5545、5655等任意值。
现在我希望它是一个唯一的自动增量值。从9000开始。但我也希望以前的值也能保持不变。
你知道我怎么能改变mysql表吗?请查看附加图像以获得更多详细信息。
发布于 2018-06-01 17:16:58
发布于 2018-06-02 11:11:00
请考虑以下几点:
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 |
+----+------------+https://stackoverflow.com/questions/50648219
复制相似问题