【发布时间】:2013-03-19 23:36:38
【问题描述】:
为了保证db的一致性,我想批量设置每张表最后一列的类型为TINYINT(1) UNSIGNED NOT NULL。
我发现了如何遍历表并定位最后一列,更改其类型并设置NOT NULL 标志,但我找不到如何设置UNSIGNED 标志。
我都试过了:
column = grt.root.wb.doc.physicalModels[0].catalog.schemata[0].tables[1].columns[7]
column.flags = ['UNSIGNED']
column.simpleType.flags = ['UNSIGNED']
但我得到了TypeError: flag is read-only。我还尝试将列的 dataType 属性设置为对具有 UNSIGNED 标志(通过 GUI 定义)的列的 dataType 属性的引用。
我终于尝试了:
column.setParseType('TINYINT(1) UNSIGNED')
但它返回 0 并且没有改变任何东西(如果我删除 UNSIGNED 它返回 1 所以我认为它不适用于标志)。
有没有办法在 MySQL Workbench 中使用 Python 脚本更改列标志(即:UNSIGNED、ZEROFILL)?
【问题讨论】: