我有以下表结构:
CREATE TABLE Table_1(
id int AutoIncrement PRIMARY KEY,
message varchar(64) NOT NULL DEFAULT 'NA'
)
我运行以下查询:
INSERT INTO Table_1 (id, message) VALUES (null, null);
它给了我错误:
Error Code: 1048. Column 'message' cannot be null
我希望以下结果使用相同的插入查询。
|id | message|
|1 | NA |
是否有任何MySQL设置? 谢谢
答案 0 :(得分:1)
你遇到了一些语法错误。
CREATE TABLE Table_1(
id int NOT NULL AUTO_INCREMENT,
message varchar(64) DEFAULT 'NA',
PRIMARY KEY (id)
)
如果要添加值Null
,则不应在表结构中添加此约束。
答案 1 :(得分:0)
您的问题乍一看很棘手,因为从概念上讲,您希望插入而不指定主键值或消息,而是完全依赖MySQL来提供默认值。
要插入空行,只需指定主键列以及NULL
的单个VALUES
:
CREATE TABLE Table_1(
id int PRIMARY KEY AUTO_INCREMENT,
message varchar(64) NOT NULL DEFAULT 'NA'
);
INSERT INTO Table_1 (id) VALUES (NULL);
SELECT * FROM Table_1;
<强>输出:强>
id | message
1 1 | NA
在这里演示: