如果Maria db中的值为null,如何将默认值插入非空列

时间:2017-08-22 11:23:59

标签: insert mariadb default notnull

我有以下表结构:

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设置? 谢谢

2 个答案:

答案 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

在这里演示:

Rextester