我不知道问这个问题是不是很奇怪,但我遇到了这个问题,我试着去解决。我试图在网上冲浪的任何例子(没有找到任何),因此导致我问在这个论坛。
所以问题是:
我有一个如下所示的sql表:
CREATE TABLE product
(
productName VARCHAR(100) PRIMARY KEY NOT NULL,
productDescription VARCHAR(1000) NOT NULL,
"weight" INTEGER NULL,
volume INTEGER NULL,
sizeInformation VARCHAR(1000) NULL,
brandName VARCHAR(100) NOT NULL,
FOREIGN KEY (brandName) REFERENCES brand(brandName)
);
我有一个 INSERT
语句如下所示:
BEGIN TRANSACTION;
INSERT INTO product
VALUES ("Power Gel Laundry Detergent - Anti-Bacterial", "Anti-Bacterial", 10, "Dynamo"),
("Power Gel Laundry Detergent - Anti-Bacterial", "Anti-Bacterial", 15, "CloroxLOL");
COMMIT;
所以第一次 INSERT VALUES
语句(其中有数字10),我想把数字10放入 product(weight)
,第二次 INSERT VALUES
语句(有数字15),我想把数字15放进 product(volume)
.
有什么办法吗?
1条答案
按热度按时间lyfkaqu11#
我想你想要:
其思想是在目标列表中同时包含这两列,并使用
null
价值观。你也可以有两个独立的
inserts
语句,具有不同的目标列列表(尽管键入的时间较长):笔记:
始终枚举
insert
语句-如果没有目标列表,数据库希望您为所有列提供值;原始查询已经无效(有4个值,而表有6列)对文本字符串使用单引号,而不是双引号(尽管有些数据库支持双字符串)-这是所有数据库都支持的sql标准
在定义数据库对象(表、列)时避免使用双引号:它们使事情变得更复杂,通常没有任何好处