我有三个相互关联的表:
表#1: MAIN
ID_MAIN NAME_MAIN ID_VER
1 XYZ 1.0
2 PQR 1.0
3 ABC 1.0
SUBMAIN :列ID_SUBMAIN(标识),NAME_SUBMAIN,ID_MAIN(带MAIN的外键),ID_VER(带MAIN的外键)
ID_SUBMAIN NAME_SUBMAIN ID_MAIN ID_VER
1 X 1 1.0
2 Y 1 1.0
3 Z 1 1.0
4 A 2 1.0
表#3 最后:
列ID_LAST(标识),ID_SUBMAIN(带SUBMAIN的外键)
ID_LAST ID_SUBMAIN
1 1
2 1
3 1
4 2
5 4
现在每当我创建一个ID_MAIN为1且ID_VER为2.0的新MAIN行时,我想用新ID_MAIN复制SUBMAIN的所有相关记录,并使用新ID_SUBMAIN复制LAST。
MAIN中的新记录
ID_MAIN NAME_MAIN ID-VER
1 XYZ 2.0
我使用Insert查询复制ID_MAIN = 1
的所有SUBMAIN记录我的查询是这样的:
INSERT INTO SUBMAIN(NAME_SUBMAIN, ID_MAIN, ID_VER)
SELECT
NAME_SUBMAIN, ID_MAIN, '2.0'
WHERE
ID_MAIN = 1
所以SUBMAIN的新记录将是:
ID_SUBMAIN NAME_SUBMAIN ID_MAIN ID_VER
5 X 1 2.0
6 Y 1 2.0
7 Z 1 2.0
现在我要复制LAST表的所有记录,其中ID_SUBMAIN是1,2和3.用新的ID_SUBMAIN 5,6和7替换ID_SUBMAIN。
LAST中的新记录应如下所示:
ID_LAST ID_SUBMAIN
6 5
7 5
8 5
9 6
我被困在这里,因为我无法弄清楚如何实现这一目标?
答案 0 :(得分:3)
您正在寻找的sql脚本如下所示:
@IBAction func loginButton(sender: UIButton) {
let emailAddress = emailTextField.text
let password = passwordTextField.text
let api = Api()
api.authenticate(emailAddress!, password: password!)
}
这样,在第一次加入时,您将获得已经在" LAST"中引用的子域。表和下一个内部联接,您将获得具有相同名称和新版本的新联接