我有一个包含以下列的表:
id
- INT未签名 AUTO_INCREMENT name
- VARCHAR(20)group
- VARCHAR(20)我知道我可以像这样添加一行:
INSERT INTO table_name (name, group) VALUES ('my name', 'my group')
我想知道是否有办法添加行而不指定列名,比如没有AUTO_INCREMENT列时?
答案 0 :(得分:25)
对于某些数据库,您只需将NULL
明确插入auto_increment
列:
INSERT INTO table_name VALUES (NULL, 'my name', 'my group')
答案 1 :(得分:8)
更好的是,使用DEFAULT而不是NULL。您希望存储默认值,而不是可能触发默认值的NULL。
但是你最好为所有列命名,使用一段SQL可以创建所需的所有INSERT,UPDATE和DELETE。只需检查information_schema并构建所需的查询即可。没有必要手动完成,SQL可以帮助你。
答案 2 :(得分:1)
只需添加列名称,是的,您可以使用Null,但是在任何插入中都不使用列名是一个非常糟糕的主意。