diff --git a/mysql-test/main/long_unique_bugs.result b/mysql-test/main/long_unique_bugs.result index 0071beb7a24..eb60f79ac67 100644 --- a/mysql-test/main/long_unique_bugs.result +++ b/mysql-test/main/long_unique_bugs.result @@ -448,5 +448,11 @@ a b 1 xxx drop table t1; # +# MDEV-22756 SQL Error (1364): Field 'DB_ROW_HASH_1' doesn't have a default value +# +create table t1 (f text not null, unique (f)); +insert into t1 (f) select 'f'; +drop table t1; +# # End of 10.4 tests # diff --git a/mysql-test/main/long_unique_bugs.test b/mysql-test/main/long_unique_bugs.test index f594038c375..c6cfd5f006a 100644 --- a/mysql-test/main/long_unique_bugs.test +++ b/mysql-test/main/long_unique_bugs.test @@ -442,6 +442,13 @@ insert into t1 (a,b) select 1,'xxx' from seq_1_to_5; select * from t1; drop table t1; +--echo # +--echo # MDEV-22756 SQL Error (1364): Field 'DB_ROW_HASH_1' doesn't have a default value +--echo # +create table t1 (f text not null, unique (f)); +insert into t1 (f) select 'f'; +drop table t1; + --echo # --echo # End of 10.4 tests --echo # diff --git a/sql/sql_insert.cc b/sql/sql_insert.cc index 9a760614f6a..424296efcf5 100644 --- a/sql/sql_insert.cc +++ b/sql/sql_insert.cc @@ -2134,7 +2134,7 @@ int check_that_all_fields_are_given_values(THD *thd, TABLE *entry, TABLE_LIST *t for (Field **field=entry->field ; *field ; field++) { if (!bitmap_is_set(write_set, (*field)->field_index) && - !(*field)->vers_sys_field() && + !(*field)->vers_sys_field() && !(*field)->vcol_info && has_no_default_value(thd, *field, table_list) && ((*field)->real_type() != MYSQL_TYPE_ENUM)) err=1;