dolt icon indicating copy to clipboard operation
dolt copied to clipboard

Auto Increment increments despite error

Open jycor opened this issue 2 years ago • 2 comments

When an insertion fails, a column defined with auto_increment still increments the value.

Repro:

test_db> create table t (i int primary key auto_increment, j int not null);
test_db> insert into t values (0,0);
Query OK, 1 row affected
test_db> select * from t;
+---+---+
| i | j |
+---+---+
| 1 | 0 |
+---+---+
test_db> insert into t values (0, null);
column name 'j' is non-nullable but attempted to set a value of null
test_db> select * from t;
+---+---+
| i | j |
+---+---+
| 1 | 0 |
+---+---+
test_db> insert into t values (0, 0);
Query OK, 1 row affected
test_db> select * from t;
+---+---+
| i | j |
+---+---+
| 1 | 0 |
| 3 | 0 |
+---+---+

The resulting table should be:

mysql> select * from t;
+---+---+
| i | j |
+---+---+
| 1 | 0 |
| 2 | 0 |
+---+---+

jycor avatar Apr 05 '22 18:04 jycor

Still a bug even after @zachmu 's auto_increment changes

timsehn avatar Aug 24 '22 00:08 timsehn

Still very broken in dolt

jycor avatar Apr 17 '24 07:04 jycor