Skip to content

SF03 — INSERT without an explicit column list

Group: Safety · Auto-fixable: no

INSERT INTO t VALUES (...) binds values to columns positionally, so adding, dropping or reordering a column silently corrupts the insert. List the target columns. INSERT ... DEFAULT VALUES is exempt.

risky: INSERT INTO patient VALUES (1, ‘Ann’); safe: INSERT INTO patient (id, name) VALUES (1, ‘Ann’);

Disable this rule in banshee.toml:

[lint]
exclude = ["SF03"]

Or silence one line with -- noqa: SF03. See Linting.