我有一个用户和一个设备表。如果用户连接到设备,则设备将知道其用户(外键)。设备只能有一个用户 我用
创建了一个外键userToDevice.foreignKeyDeclaration.constrainReference(onDelete cascade)
它会像那样改变表格
alter table Device add constraint DeviceFK10 foreign key (user_id) references User(id) on delete cascade;
现在,当我创建用户,将其分配给设备然后删除用户时,设备表中的user_id属性也不会被删除。
//CREATE DEVICE
val device = queries.deviceCreate("XYZ-Device", None) //None User
//ASSIGN USER TO DEVICE
update(deviceT)(d=> where(d.id === device.get.id) set(d.user_id := user.id))
//DELETE USER
userTable.deleteWhere(u=> u.id === user.id)
为什么即使使用删除级联也不会删除外键?
修改
我想我对这种关系搞砸了
在这里您可以看到示例代码。也许你可以告诉我这里我做错了什么
ShowCase on Github
EDIT2:
似乎mysql甚至没有创建外键。当我检查localhost / phpmyadmin