postgresql - 无法在新数据库中创建表
问题描述
这里是 SQL 的初学者,特别是使用 PostgreSQL。我正在尝试为这里的课程做点什么,但我不断收到一条错误消息,我不知道为什么。我创建了一个名为“游戏”的新数据库,并且正在尝试创建一个基本表。代码如下。
我收到的错误消息是,[0A000] 错误:未实现跨数据库引用:“games.games_schema.player_data”位置:14
我可以使用 postgreSQL 在默认数据库中创建表,但为什么我在尝试在这个新数据库中专门创建此表时遇到问题?
创建数据库游戏;
CREATE TABLE games.games_schema.Player_Data (Player_ID int, Player_Name VARCHAR(255), Player_System VARCHAR(255));
我认为我设置创建表语句的方式是告诉服务器在该位置创建一个表。(数据库 --> DBschema --> 表)
谢谢你的帮助。
解决方案
您创建了游戏数据库,但并未在其中创建 games_schema。它只会创建公共模式(除非已修改默认模板)解决方案是在“游戏”数据库中创建“游戏模式”,或在公共模式中创建数据库对象。
选项 1:创建架构。
create schema games_schema;
create table games_schema.player_data( ... );
选项 2:使用公共架构。
create table player_data( ... );
我的选择是选项 1,因为除了扩展和 Postgres 提供的对象之外,我从不允许任何东西公开。
推荐阅读
- nginx - Nginx 没有启动
- javascript - 在javascript中删除指定的字符串
- reactjs - 使用动态图表 [动画图表]
- excel - 如何在Excel中提取数字来过滤“数字+字母”记录
- swift - React Native 项目中的 Swift 包管理器
- javascript - 重定向到另一个页面的 Href 链接具有特定的操作
- sql - APEX Office Print 中的数据源出错
- azure - 在 Powershell 中安装 Az 模块时出错 - 无法安装包“Az.Accounts”
- python - 尝试从 dockerized Python 脚本连接时出现 FTP 错误“500 Illegal PORT command”
- css - 仅当向下滚动或页面高于视频时才使元素可见,仅 CSS