Как начать MySQL столбец с конкретным значением приращения? - PullRequest
0 голосов
/ 01 июня 2018

В таблице MySQL у меня есть столбец с именем invoice_id.Где я вручную введите номер счета-фактуры (который только для int).Он имеет произвольные значения, такие как 111, 5545, 5655 и т. Д.

Теперь я хочу, чтобы это было уникальное значение автоинкремента.Который начнется с 9000.Но я также хочу, чтобы прежние значения остались прежними.

Любая идея, как я могу изменить таблицу MySQL?Проверьте прикрепленное изображение для получения более подробной информации

Invoice_no

Ответы [ 2 ]

0 голосов
/ 02 июня 2018

Рассмотрим следующее:

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 |
+----+------------+
0 голосов
/ 01 июня 2018

Вы можете сделать что-то вроде этого:

ALTER TABLE invoice AUTO_INCREMENT = 9000;

Для получения дополнительной информации смотрите здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...