必须点击左上角Save按钮(或Ctrl+S)并填写表名才能真正建表;仅关闭设计窗口不会保存。主键、自增、非空等勾选均对应具体DDL,类型选择需谨慎,导出SQL时注意兼容性问题。Navicat 里点哪儿才能真正建出表,而不是卡在"设计表"界面很多人点开 new table 后反复调整字段、保存又关闭,结果刷新数据库列表发现表根本没出现------根本原因是没点击左上角的 save 按钮(不是 ctrl+s,也不是右键菜单),而是误以为「关闭设计窗口」=「保存并建表」。必须手动点顶部工具栏的 Save 图标(磁盘形状)或按 Ctrl+S,且弹出的对话框里填了表名才真正执行 CREATE TABLE如果只点了右上角 × 关闭窗口,Navicat 会提示「Discard changes?」,选 Yes 就等于什么都没干建表语句实际在后台执行,不显示 SQL,但可通过 Tools → Server Monitor 查看最近执行的命令确认是否成功主键、自增、非空这些关键约束,可视化勾选后到底生成什么 SQLNavicat 的勾选框不是装饰,每个都对应明确的 DDL 行为,尤其要注意 MySQL 和 PostgreSQL 对同一选项的解释差异。PK 勾选 → 生成 PRIMARY KEY;但若多列同时勾选 PK,Navicat 默认建复合主键(不是分别加单列主键)AI(Auto Increment)只对整数类型生效,且仅在 MySQL 中等价于 AUTO_INCREMENT;PostgreSQL 会转成 SERIAL 或 GENERATED BY DEFAULT AS IDENTITYNot Null 勾选后,字段一定带 NOT NULL,但默认值栏留空 ≠ DEFAULT NULL(SQL 不允许),而是真的无默认值MySQL 8.0+ 下,如果给 VARCHAR 字段设了默认值(如 '-'),Navicat 会自动加上 DEFAULT 子句;但老版本可能静默忽略字段类型选错导致后续写入失败的典型场景下拉菜单里看着差不多的类型,在底层存储和校验逻辑上差很远,尤其容易在时间、文本、数字三类上翻车。DATETIME vs TIMESTAMP:前者范围大(1000--9999),后者依赖时区且范围小(1970--2038),Navicat 新建时默认选 DATETIME,但业务需要自动更新时间戳就得手动换 TIMESTAMPTEXT 类型不能设默认值(MySQL 报错 Invalid default value),但 Navicat 允许你在界面里填,默认值栏变灰也不报错,保存时直接失败INT 和 BIGINT 看似只是长度区别,但一旦用 INT 存用户 ID,后期数据超 21 亿就只能改表结构,Navicat 执行 ALTER TABLE 会锁表,线上慎用从 Navicat 导出建表语句时,哪些地方常被忽略导出 SQL 是为了复现或迁移,但 Navicat 默认导出的脚本未必能直接运行,尤其跨版本或跨引擎时。 ARTi.PiCS ARTi.PiCS是一款由AI驱动的虚拟头像生产器,可以生成200多个不同风格的酷炫虚拟头像
相关推荐
oradh1 小时前
Oracle TX 锁 Mode 4(Share)问题排查总结yi.Ist2 小时前
数据定义语言-DDL操作傲笑风2 小时前
【openvino】tinybert基于openvino服务化部署(四)维基框架3 小时前
WIKI 知识库 v1.1.1 正式发布2601_963282773 小时前
工程项目、政企采购为什么优先选择对讲机批量采购?Doraemomo3 小时前
SQLite数据库云贝教育-郑老师4 小时前
MySQL 的“黑匣子“:Performance Schema 把数据库内部变成一张可查的表这个DBA有点耶5 小时前
同城双活落地的三座山:网络延迟、脑裂预防、反向同步青春之我_XP5 小时前
MySQL 常用日期函数 实战指南