我有一个表,其中第一列是auto_increment。我想将数据插入表中,但跳过第一列,因为它在新行开始时自动更新。 这样:
INSERT INTO table VALUES (NULL,"lady","gaga","rulz");
但是我不能像前面指定的那样将NULL插入到列中。 我需要更换NULL以便列不会插入任何内容?
答案 0 :(得分:5)
只需确保指定相应的列名称
INSERT INTO table (col1, col2, col3) VALUES ("lady","gaga","rulz");
您甚至不需要填写所有列(如果不需要),即
INSERT INTO table (col2) VALUES ("gaga");
答案 1 :(得分:3)
insert into table(field1, field2, field3) values('lady', 'gaga', 'sucks')
答案 2 :(得分:0)
您需要明确指定列名称和顺序。换句话说
INSERT INTO table (field2, field3, field4) VALUES ("lady","gaga","rulz");
顺便说一句,通常最好避免使用隐式插入语法(但可能是最简单/调试时间片段),以免在/如果基础表模式以某种方式更改时感到惊讶。
此外,您知道, 某些内容将插入(此处)field1列。定义或更改表的架构时,给定字段可以是否可为空,和/或它可以具有默认值。在上面提供的SQL中,您只能省略可以为空或具有默认值的字段的值;否则SQL将返回错误,并且不会插入新记录的任何部分。