Pra*_*tik 1 postgresql uuid sqldatatypes
我试图从 MSSQL 切换到 PostgreSQL,因此尝试将查询转换为等效的 PostgreSQL。但是,运行 PostgreSQL 查询时出现错误:
错误:类型“唯一标识符”不存在第 3 行:ID UNIQUEIDENTIFIER DEFAULT UUID_GENERATE_V4()::VARCHAR NO... ^ SQL 状态:42704 字符:38
MSSQL
CREATE TABLE [dbo].[ISS_AUDIT]
(
[ID] UNIQUEIDENTIFIER DEFAULT NEWID() NOT NULL,
[GRAPH_ID] [varchar](196)
PRIMARY KEY(ID)
);
Run Code Online (Sandbox Code Playgroud)
PostgreSQL
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE TABLE public.ISS_AUDIT
(
ID UNIQUEIDENTIFIER DEFAULT UUID_GENERATE_V4()::VARCHAR NOT NULL,
GRAPH_ID VARCHAR(196),
PRIMARY KEY(ID)
);
Run Code Online (Sandbox Code Playgroud)
我在UNIQUEIDENTIFIER上遗漏了什么 吗?
这是正确的脚本:
CREATE TABLE public.ISS_AUDIT
(
ID uuid PRIMARY KEY DEFAULT UUID_GENERATE_V4(),
GRAPH_ID VARCHAR(196)
);
Run Code Online (Sandbox Code Playgroud)
请参阅此链接。提炼:
SQL Server 调用类型 UniqueIdentifier,PostgreSQL 调用类型 uuid。两种类型都占用 16 字节的存储空间。出于与其他软件或数据库的兼容性原因,许多使用它们的一些标准化文本表示,特别是用于传输而不是使用本机类型。
| 归档时间: |
|
| 查看次数: |
5606 次 |
| 最近记录: |