将数据插入到表关系
问题描述:
在Access中有一个简单的表格布局:将数据插入到表关系
而且我希望将数据添加到t_Bild。 所以我创建了查询:
INSERT INTO t_Bild (B_ID, M_ID, Dateiname, Datum)
VALUES (11, 8, "someName.png", DATE());
它的工作原理。但我需要动态获取B_ID的最大值,以便查询自动插入一个新的私钥。 所以我已经修改了查询:
INSERT INTO t_Bild (B_ID, M_ID, Dateiname, Datum)
VALUES ((SELECT 1+ MAX(B_ID) FROM t_Bild), 8, "someName.png", DATE());
但问题是,每次我运行没有数据插入查询。我也没有收到任何错误消息。 我有查询查询:
SELECT 1+ MAX(B_ID) FROM t_Bild;
它工作正常。
如何使用有效的私钥实现向t_Bild添加数据?
注意:我无法将私钥设置为自动编号,因为我在建模数据库时忘记设置私钥。现在Access不允许我将私钥设置为自动编号。
答
您可以使用INSERT INTO ...选择的变体:
INSERT INTO t_Bild (B_ID, M_ID, Dateiname, Datum)
SELECT 1+ MAX(B_ID), 8, "someName.png", DATE()
FROM t_Bild GROUP BY 2,3,4
工作正常!但为什么GROUP BY 2,3,4? – jublikon
如果没有“分组依据”,则不能计算“最大值”等合计值,2,3,4是另一种编写方式:按M_ID,Dateiname,Datum分组。 你可以参考这个问题更多:http://stackoverflow.com/questions/7392730/what-does-sql-clause-group-by-1-mean –