我试图在MySQL中做最简单的事情并收到错误。我创建了一个运行此查询的表。
create table STATION
( ID int NOT NULL
, CITY varchar(21)
, STATE varchar(2)
, LAT_N int
, LONG_N int
, primary key(ID) );
现在我试图在表格中插入一些数据,
INSERT INTO STATION
(CITY, STATE, LAT_N, LONG_N) VALUES
("Buffalo", "NY", 123, 233);
这是我得到的错误,
ERROR 1364 (HY000): Field 'ID' doesn't have a default value
Isn的ID应该默认为0并自动增量?
答案 0 :(得分:2)
您必须指定您想要一个自动增量字段。
ID int NOT NULL AUTO_INCREMENT,
例如,您的id可以是复合ID,然后是非自动增量ID。
的更多信息答案 1 :(得分:2)
您应该提出身份证AUTO_INCREAMENT
create table STATION(
ID INT NOT NULL AUTO_INCREAMENT,
CITY VARCHAR(21),
STATE VARCHAR(2),
LAT_N INT,
LONG_N INT ,
PRIMARY KEY(ID)
);
答案 2 :(得分:1)
主键应该是唯一的值。因此,您不希望为id设置默认静态值,因为在第一次插入后无效。一个好的做法是使用auto_incrementable id代替。
{
"presets": [
["env", {
"targets": {
"browsers": ["last 2 versions", "Chrome >= 34"]
}
}]
]
}