我想将重复的值插入到具有自动增量列的表中。
我可以这样插入吗
auto_incremet
+---------------+---------
| invoiceNumber | totalAmt |
+---------------+----------+
| 1 | 200 |
| 0 158
| 2 | 1200 |
| 0 122 |
| 3 65 |
| 4 | 240 |
| 5 | 330 |
| 6 | 80 |
+---------------+---------
我不想增加特定记录的值。
可以这样做吗?
可以使用附加表,以便我可以将特定记录发送到其他表并停止它在第一个表中的增量。
但是不能用同一个表来完成吗?
最佳答案
是的,但它不能是 0。不过,它可以是 1。
MariaDB [wow]> create table test ( id int(11) not null auto_increment, name varchar(15), key id (id));
Query OK, 0 rows affected (0.02 sec)
MariaDB [wow]> insert into test (id, name) values (1, 'mark');
Query OK, 1 row affected (0.00 sec)
MariaDB [wow]> insert into test (id, name) values (0, 'allan');
Query OK, 1 row affected (0.01 sec)
MariaDB [wow]> insert into test (id, name) values (1, 'patrick');
Query OK, 1 row affected (0.00 sec)
MariaDB [wow]> insert into test (name) values ('chris');
Query OK, 1 row affected (0.00 sec)
MariaDB [wow]> insert into test (name) values ('oliver');
Query OK, 1 row affected (0.00 sec)
MariaDB [wow]> insert into test (id, name) values (1, 'damien');
Query OK, 1 row affected (0.00 sec)
观察:
MariaDB [wow]> select * from test;
+----+---------+
| id | name |
+----+---------+
| 1 | mark |
| 2 | allan |
| 1 | patrick |
| 3 | chris |
| 4 | oliver |
| 1 | damien |
+----+---------+
显然这不是一个好主意。创建第二列并将其命名为invoice_id。使用序列表递增它。
但是,要回答这个问题,尽管 auto_increment 必须位于键上,但它不需要位于唯一键(例如主键)上。
关于mysql - 是否有可能停止mysql中特定记录的自动增量并存储重复的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49428889/