我们有一个具有以下设置的数据库:
SiteSecurityID | SiteID | LoginName
---------------+--------+-----------
Auto Gen # Number Username
现在,我们有35个SiteID,每个用户都需要访问每个SiteID。我无法获得任何尝试成功完成此操作的查询。
我可以使用这种方法一个接一个地做,但是必须有一种更简单的方法...
INSERT INTO SiteSecurity (SiteID, LoginName)
VALUES ('1', 'user1'), ('2', 'user1');
答案 0 :(得分:1)
假设您有用于网站和用户的表,则可以使用function buttonEnable(){
document.getElementById("Btn").disabled = false;//trying to enabl or disable
button with the help of Id
}
function setData(){
document.getElementById("proxyBtn").disabled = true;
let FileData= "<form>";
FileData+= '<td class="hostid-td-padding">';
FileData+= "<input id=\"user\" type=\"text\" value=\""+user+"\"
onkeypress=\"buttonEnable()\"></input>";
xmlFileData+= "</td>\n";
FileData+= '<td>';
FileData+= "<input id=\"Btn\" type=\"submit\" value=\"Save\"
onclick='update()'></input>\n";
FileData+= "</td>";
FileData+= "</tr>\n";
FileData+= "</form>";
}
生成所有行:
cross join
如果不这样做,您仍然可以即时生成它们。表构造函数因数据库而异,但这提供了方法:
INSERT INTO SiteSecurity (SiteID, LoginName)
SELECT s.SiteId, u.UserName
FROM Sites s CROSS JOIN
users u;
编辑:
如果有现有数据,则可以在插入之前过滤掉重复项:
INSERT INTO SiteSecurity (SiteID, LoginName)
SELECT s.SiteId, u.UserName
FROM (VALUES (1), (2), (3), . . . ) s(SiteID) CROSS JOIN
(VALUES ('user1'), ('user2'), . . . ) u(UserName);