我正在尝试创建一个包含用户自己隐藏的消息列表的应用程序,而不影响其他用户。我认为最简单的方法是拥有一个包含所有消息的主数据库以及一个带有诸如隐藏(布尔)之类的额外列的用户副本,我几乎可以使它正常工作,但是找不到不复制emtries的方法在保留其他布尔值已经存储的情况下已经存在。
基本上,您如何只复制另一个数据库表中不存在的数据库表项。
我尝试使用左联接(SELECT messages.Message,user.Hidden FROM消息,LEFT JOIN user ON messages.Message = user.Message),但是我不确定这是否有效,因为它给我一个错误(FROM子句中的语法错误) )
一个例子:
消息数据库:
信息
M1
M2
M3
最初用户数据库为空,第一次运行时应创建:
讯息....隐藏
m1 ................. F
m2 ................. F
m3 ................. F
假设用户隐藏了所有消息,然后消息数据库更改为:
信息
11
立方米
m4
55
用户数据库更改为
讯息...隐藏
m1 ................ T
m3 ....... T
m4 .................. F
m5 ....... F
我正在使用Access和C#,第一次对数据库做任何事情,如果这是一个非常愚蠢的问题,对不起,找不到其他人问同样的事情。同样,如果我以完全错误的方式进行操作,尽管在实际的应用程序中两个数据库中都会有更多的列,但我不会介意采用更好的方法。
可能不是最好的方法,但至少我可以使用它。左联接确实有效,我认为以前的问题是用户是保留字
"SELECT messages.message, [User].hidden INTO temp FROM messages LEFT JOIN [User] ON messages.message = [User].message;"
"DROP table [User]"
"SELECT * INTO [User] FROM temp;"
当然,如果有人知道更好的实现,尤其是避免了使用临时表的实现,我想看看它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句