我目前正在创建一个数据库应用程序,我的sql语法有问题,也许我的数据库不正确。
我有两张桌子:
USERS
id_user | login | password | name | surname | position
1 test test Jan Kowalski IT
COMPUTERS
id_computer | name | model | serial | os | cpu | ram
1 HP Q445 XXXYYY Ubuntu 2x2GHz 4GB
我想将此计算机分配给用户,但它不能100%工作..
SELECT users.id_user, computers.* FROM users LEFT JOIN computers ON computers.id_computer= users.id WHERE users.id = 1
也许我应该在表格“用户”的下一栏添加设备?
在使用INSERT INTO添加行之前,首先我需要绑定/关联这两个表,我不知道如何。
我想将此记录添加到用户,然后读取此行并在我的应用程序中显示(在Java Swing中)。
答案 0 :(得分:0)
表USERS和COMPUTERS需要通过外键关联。我建议USERS和COMPUTERS之间的关系是一对多的,所以从理论上讲,至少一个用户可以拥有多台计算机。为此,在COMPUTER表中添加一个名为id_user的额外字段,这是将给出两个表之间链接的外键。在该字段中,您使用计算机放置此人的id_user。因此,您现在可以在users.id_user和computers.id_user字段上使用连接执行选择查询。
SELECT users.id_user, computers.* FROM users LEFT JOIN computers ON users.id_user = computers.id_user;
您使用的LEFT JOIN将选择所有用户是否拥有计算机。如果还没有,那么将id_user和id_computer作为其表的唯一主键。也许在这些字段上考虑AUTOINCREMENT。
注意: