首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将默认值分配给列

将默认值分配给列
EN

Stack Overflow用户
提问于 2013-12-05 03:11:57
回答 1查看 380关注 0票数 0

我一直试图生成以下sql代码,用于使用sqlalchemy在表中创建MySQL列:

代码语言:javascript
复制
`win` tinyint(1) unsigned NOT NULL DEFAULT '0'

我使用这个作为我的sqlalchemy语句:

代码语言:javascript
复制
class Matches(Base):
"""matches entity class"""
__tablename__ = 'matches'
__table_args__ = {
    'mysql_engine': 'InnoDB',
    'mysql_charset': 'utf8'
}
win = Column(TINYINT(1, unsigned=True), nullable=False, default=0)

但是,这不会生成我只想要的默认值:

代码语言:javascript
复制
win TINYINT(1) UNSIGNED NOT NULL

另外,当我设置默认值=‘CURRENT_TIMESTAMP’(在另一列中)时,它会自动添加我不想要的on更新。我是不是遗漏了什么?

另外,作为一个附带的问题,我将如何使用sqlalchemy生成这样的东西:

代码语言:javascript
复制
UNIQUE KEY `matchid` (`match_id`)

我知道该列有一个惟一的bool属性,它将生成唯一的部分,但是当我使用列属性key='matchid‘时,似乎什么都没有发生。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-05 07:34:13

server_defaultunique of

代码语言:javascript
复制
win = Column(TINYINT(1, unsigned=True), nullable=False, default=0, 
    server_default=text('0'),
    unique=True,
)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20390686

复制
相关文章

相似问题

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