首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Web2py/Pydal将字段定义为无符号整数

使用Web2py/Pydal将字段定义为无符号整数
EN

Stack Overflow用户
提问于 2020-12-16 20:06:03
回答 2查看 112关注 0票数 0

是否可以使用无符号整数Field**?定义web2py模型?如果是,怎么做?**

底层数据库是MySQL,下面是等效的CREATE TABLE语句。

代码语言:javascript
复制
CREATE TABLE `t` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `value` int(11) unsigned DEFAULT NULL,
  PRIMARY KEY (`id`)
)
;

我做了三次尝试,但都没有成功。下面的片段是尝试。

代码语言:javascript
复制
db.define_table('t', Field('value', 'integer unsigned'))
代码语言:javascript
复制
db.define_table('t', Field('value', 'integer', options=['unsigned']))
代码语言:javascript
复制
db.define_table('t', Field('value', 'integer', options=['UNSIGNED']))

我在web2py皮酮文档中都没有提到无符号整数。当然,web2py或pydal都不支持无符号整数。我使用的是web2py版本2.20.4-稳定+时间戳,2020.05.02.22.03.36,pydal版本20200502.2和MySQL版本5.7.25。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-04 19:15:05

我认为您想在字段上定义一个custom_qualifier:

代码语言:javascript
复制
Field('value', 'integer', custom_qualifier='UNSIGNED')

它只是在迁移时附加到字段定义中。

这将降低项目的可移植性,因为例如,在PostgreSQL或MSSQL中,未签名的in不是一件事。

票数 1
EN

Stack Overflow用户

发布于 2020-12-16 22:12:24

我不认为pydal显式支持无符号整数类型,但只要您不使用pydal进行迁移(也就是说,它不会为您创建一个新的无符号整数列,但它将与现有的列一起使用),只要您只指定type='integer',那么一切都会正常工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65330412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档