我有以下问题。我运行此请求,该请求成功通过,但显示“0(受影响的行)”。简而言之,我想做什么。我正在尝试编写一个将元素添加到主表的查询,因为我已经链接了子表我正在尝试检索 ID 并将它们放入主表中
INSERT INTO Articles
([ID],
[ArtName],
[ArtType],
[SerNo],
[MACNo],
[UserID],
[Available],
[CityID],
[StoreID],
[WorkplaceID],
[ItemPrice],
[IP_01],
[IP_02],
[Note])
SELECT
(SELECT max([ID])+1 FROM Articles),
'HP',
art.ID,
'123',
'А18Н31',
u.ID,
av.ID,
c.ID ,
s.ID,
w.ID,
'14.23',
'192.168.11.3',
'192.168.11.3',
GetDate()
FROM Articles a
INNER JOIN Workplace w ON a.WorkplaceID = w.ID
INNER JOIN Store s ON a.StoreID = s.ID
INNER JOIN City c ON a.CityID = c.ID
INNER JOIN Avaiable av ON a.Available = av.ID
INNER JOIN Users u ON a.UserID = u.ID
INNER JOIN ArtType art ON a.ArtType = art.ID
WHERE c.CityName LIKE '%Sofia%' AND art.ArtTypeName LIKE '%FirstType%' AND s.StoreName LIKE '%First%' AND av.AvaiableName LIKE '%yes%' AND u.UserName LIKE '%Valq%' AND w.WorkplaceName LIKE '%FWorkplace%'
答案 0 :(得分:1)
评论太长了。
这表示“0 行受影响”,因为 items: jobFairData
.map(
(category) => DropdownMenuItem(
child: Text(
category.name,
style: TextStyle(color: Theme.of(context).accentColor),
),
value: category.id,
),
)
.toList(),
不返回任何行。这可能是因为没有任何内容与 SELECT
匹配。这可能是因为 JOIN
子句过滤掉了所有行。没有样本数据,就无法判断。你必须自己调查。
也就是说,这非常可疑:
WHERE
这不是在表中增加 id 的正确方法。您应该使用 (SELECT max([ID])+1 FROM Articles),
列。或者可能默认为一个序列。无论哪种情况,插入行时都会自动设置 identity
的值。
另请注意,如果这会插入多行,则所有行都会得到相同的 id
,这可能不是您想要的。