我有一个现有的产品表,我正在尝试将其他表中的新属性插入到我的主产品表中。
我的问题是:
INSERT INTO company_attributes (amp)
SELECT company_attr_amperage.amp
FROM company_attr_amperage
INNER JOIN company_attributes
ON company_attr_amperage.product_id = company_attributes.product_id;
我得到的错误是:字段“product\u id”没有默认值。
我不是要插入到product\u id列,而是要插入到amp列(如查询的第1行所指定)
amp列存在于company\u attributes表中,但是现在,每个值都是null
谢谢
2条答案
按热度按时间jmo0nnb31#
您可能只想更新现有行中的值。如果是:
tf7tbtn22#
INSERT
的工作是将新行放入表中(在您的情况下)company_attributes
. 这些新行必须有效。您的表定义说,对于名为product_id
在那张table上。所以,当你不提供你的数据库时,mysql不知道该把什么放进这个列中INSERT
操作。因此,在插入行时,必须为该列提供一个值。
如果不为列创建行,就无法将值放入列中,或者
UPDATE
删除现有行。