非常简单:
如果我在数据库中创建一个表,它会删除或覆盖另一个同名的表吗?
我在游戏中有一个需要信息表的脚本。 我可以在每次脚本启动时运行它吗?:
CREATE TABLE player_data ( UniqueID string, Money int )
因此,当其他人在他们的游戏上运行脚本时,将创建该表,但是如果他们再次运行它,它将不会被覆盖?
答案 0 :(得分:3)
但如果他们再次运行它,它不会被覆盖?
没有。通常,在CREATE成功之前,您必须首先删除表。
当涉及到实际实现时,例如表是临时的还是永久的,访问权限,其中多个用户可以具有相同的表名,只要它们都使用不同的用户名,就会有很多例外。查看您的特定服务器版本是否存在此类异常。
答案 1 :(得分:2)
这取决于您使用的是哪个数据库引擎。在MySQL中有dist
使它只会尝试创建表,如果它还不存在。
所以你的陈述看起来像CREATE TABLE IF NOT EXISTS
。如果没有名为player_data的表,则会创建一个新表。但是,如果已经存在名为player_data的表,则不会对数据库进行任何修改。
大多数流行的数据库引擎通常都有替代方法来做类似的事情。