SQL 转 GORM

粘贴 MySQL 建表语句,一键生成 Go GORM Model 结构体代码

输入

输出

类型映射对照表

SQL (MySQL)Go
tinyint(1)bool
tinyint / smallint / mediumint / yearint32
int / integerint
bigintint64
varchar / char / text / tinytext / mediumtext / longtext / enum / set / timestring
datetime / timestamp / datetime.Time
decimal / numericfloat64
floatfloat32
double / realfloat64
jsonjson.RawMessage
binary / varbinary / blob / tinyblob / mediumblob / longblob[]byte

tinyint(1) 映射为 bool,其余 tinyint 映射为 int32;未识别的 SQL 类型统一映射为 string,并在生成代码中以注释标出。

使用说明

将一条或多条 MySQL CREATE TABLE 建表语句粘贴到输入框,按需勾选选项后点击「生成代码」,即可得到可直接编译的 Go GORM Model 代码(含 package 与 import)。支持主键、自增、非空、默认值、注释、唯一索引与普通索引等列属性的转换,多个建表语句会生成多个结构体。全部处理在浏览器本地完成,SQL 不会上传。

映射口径说明

unsigned 无符号类型统一映射为有符号 Go 类型(如 int unsigned → int),如需 uint 系列请手动调整;date 与 datetime/timestamp 一样映射为 time.Time(如需纯日期字符串可自行改为 string);decimal/numeric 映射为 float64,存在精度局限,涉及金额等精确计算建议改用 shopspring/decimal;json 映射为 json.RawMessage,生成代码会自动添加 encoding/json 导入。