gpt4 book ai didi

mysql - PostgreSQL - 在 MySQL 中声明的表的等效版本?

转载 作者:行者123 更新时间:2023-11-29 14:12:46 24 4
gpt4 key购买 nike

我在 MySQL 中声明了下表:

CREATE TABLE IF NOT EXISTS `ci_sessions` (
`session_id` varchar(40) COLLATE utf8_bin NOT NULL DEFAULT '0',
`ip_address` varchar(16) COLLATE utf8_bin NOT NULL DEFAULT '0',
`user_agent` varchar(150) COLLATE utf8_bin NOT NULL,
`last_activity` int(10) unsigned NOT NULL DEFAULT '0',
`user_data` text COLLATE utf8_bin NOT NULL,
PRIMARY KEY (`session_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

假设我的数据库已经在使用 UTF-8 编码,postgres 中表的等效定义是什么?

最佳答案

CREATE TABLE ci_sessions (
session_id varchar(40) NOT NULL DEFAULT '0',
ip_address varchar(16) NOT NULL DEFAULT '0',
user_agent varchar(150) NOT NULL,
last_activity int4 NOT NULL DEFAULT '0',
user_data text NOT NULL,
PRIMARY KEY (session_id)
);

修饰符 IF NOT EXISTS 恕我直言,刚刚被添加到最新的 PostgreSQL 版本之一。

编辑:根据 unnamed horse 的建议,我将第 4 个属性从 decimal(10) 更改为 int4。但我也更喜欢这里的时间戳(0)。如果您在此处需要微秒精度,请仅使用不带 (0) 的时间戳。

关于mysql - PostgreSQL - 在 MySQL 中声明的表的等效版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5171017/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com