字段没有默认值

时间:2015-11-28 15:28:10

标签: php mysql sql-server netbeans

我正在尝试按照https://netbeans.org/kb/docs/javaee/ecommerce/connect-db.html进行分配,但我在mySQL工作台中使用自己的实体关系图。 从这里可以看出https://www.flickr.com/photos/93791690@N02/23076476850/in/dateposted-public/

但是当我尝试按照Netbeans网站上的说法删除'select * from category'并输入以下SQL语句时:

INSERT INTO `category` (`name`)
VALUES ('dairy'),('meats'),('bakery'),('fruit & veg');

但试试我自己:

INSERT INTO `book` (`price`) VALUES ('20.0');
INSERT INTO `book` (`author_name`) VALUES ('author_name');

我一直在说错误

Error code 1364, SQL state HY000: Field 'author_name' doesn't have a default value
Line 1, column 1

Error code 1364, SQL state HY000: Field 'price' doesn't have a default value
Line 2, column 1

Execution finished after 0 s, 2 error(s) occurred.

有人可以帮我开始朝着正确的方向前进吗

1 个答案:

答案 0 :(得分:1)

除非你想插入两行,否则

INSERT INTO `book` (`price`, `author_name`) VALUES ('20.0', 'author_name');

很可能是你想做的。尝试仅设置一列的插入失败,因为另一列没有默认值。所有没有默认值的列都需要在插入中设置。如果您打算在此处插入两行,则需要确保为每个插入中的两列指定值,或者为表ALTER指定值,以使列具有DEFAULT值。例如,

ALTER TABLE `book` MODIFY `author_name` varchar(200) DEFAULT '';

将varchar的大小更改为author_name列的任何内容,并将空字符串''替换为您想要的默认值。