dolthub / dolt

Dolt – Git for Data
Apache License 2.0
17.7k stars 499 forks source link

Auto Increment increments despite error #3157

Open jycor opened 2 years ago

jycor commented 2 years ago

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 |
+---+---+
timsehn commented 2 years ago

Still a bug even after @zachmu 's auto_increment changes

jycor commented 4 months ago

Still very broken in dolt