PostgreSQL中的"use"命令失败并出现语法错误(从MySQL转换)

use*_*531 1 php mysql postgresql pdo

所以,我正在尝试将基于MySQL的数据库转换为PostgreSQL数据库,并且我得到了一些不太理想的结果.我的代码从这开始:

create database bookmarks;
use bookmarks;
Run Code Online (Sandbox Code Playgroud)

但是我收到一条错误消息:

ERROR:  syntax error at or near "use"
LINE 2: use bookmarks;
        ^
Run Code Online (Sandbox Code Playgroud)

老实说,我无法解决我需要做些什么来解决这个问题.任何帮助,你可以提供给我将不胜感激.谢谢.

Cmd*_*ozy 6

在PostgreSQL中,当您启动与服务器的连接时,您将连接到要使用的特定数据库.您需要如何做到这完全取决于您正在使用的语言/环境.

但是,如果您使用psql命令行工具手动执行此操作,那么USE mydatabase;在MySQL中等效\c mydatabase;于PostgreSQL.

编辑:在PHP中,如果要创建新数据库然后连接到它,则执行以下操作:

  1. 使用现有数据库连接到您的服务器 - template1或者postgres是常见的选择.CREATE DATABASE bookmarks;使用此连接执行.

  2. 使用(当然需要将DSN参数替换为您需要的特定值)创建与刚创建的数据库的新连接new PDO("pgsql:host=localhost;port=5432;dbname=bookmarks;user=myuser;password=mypassword");.

现在您已连接到新数据库,您执行的任何查询都将被执行bookmarks.无需执行USE bookmarks;或其他任何操作.