insert DEFAULT values

2019-04-20 07:55发布

问题:

Is there ANY difference between those two statements?:

INSERT INTO distributors (did, dname) VALUES (DEFAULT, 'XYZ Widgets');

and:

INSERT INTO distributors (dname) VALUES ('XYZ Widgets');

I mean is there at least one reason to use one or another pattern in some particular situation or is it completely the same? did is a serial column.

回答1:

It's exactly the same thing. No need to pick one instead of the other.

Usually default keyword is handy when you have computer-generated code. It makes life easier to just use every single column in the insert clause and just use default when you don't have a specific value for certain column.

Other than that, as I said, it's the same.



回答2:

INSERT INTO distributors (dname) VALUES ('XYZ Widgets');

This is fine, you do not need to specify a field if you want its default value being saved, provided a default is set.