diff --git a/core/translate/insert.rs b/core/translate/insert.rs index 234323cd7..4f13f2b2f 100644 --- a/core/translate/insert.rs +++ b/core/translate/insert.rs @@ -1648,7 +1648,7 @@ fn translate_column( } else if let Some(default_expr) = column.default.as_ref() { translate_expr(program, None, default_expr, column_register, resolver)?; } else { - let nullable = !column.notnull() && !column.primary_key() && !column.unique(); + let nullable = !column.notnull() && !column.primary_key(); if !nullable { crate::bail_parse_error!( "column {} is not nullable", diff --git a/testing/null.test b/testing/null.test index 682c23bfa..814ce6dbd 100755 --- a/testing/null.test +++ b/testing/null.test @@ -26,3 +26,9 @@ do_execsql_test sel-true { do_execsql_test sel-false { select false; } {0} + +do_execsql_test_on_specific_db {:memory:} not-null-just-cuz-unique { + create table t (a int, x int unique); + insert into t(a) values(1); + select * from t; +} {1|} \ No newline at end of file