› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
jaggle
V2EX  ›  MySQL

不懂就问:为什么 Text 字段不能有默认值?

  •  1
     
  •   jaggle · Feb 24, 2023 · 4352 views
    This topic created in 1353 days ago, the information mentioned may be changed or developed.

    ChatGPT 回答: TEXT 字段不能有默认值,因为 TEXT 字段是一种多行文本数据类型,其包含的内容可以是任意长度的文本。由于这种原因,MySQL 在创建时无法为 TEXT 字段正确识别出适当的“默认”值来使用。

    但是不能让我信服。

    相关问题:

    https://stackoverflow.com/questions/3466872/why-cant-a-text-column-have-a-default-value-in-mysql

    回答似乎也没到点子上。不知道 V 友有没有相关了解的

    8 replies  •  2023-03-01 10:07:25 +08:00
    seashell2000
    seashell2000
    Feb 24, 2023❤️1
    1
    缺省的 sql-mode 不允许
    5200721
    5200721
    Feb 24, 2023 via Android
    2
    前两天也好遇到这个问题,于是把 not null 改成 null ,default 值去掉了。
    qile1
    qile1
    Feb 24, 2023 via Android
    3
    借楼主帖子问下 mysql 里面列名称存在换行如何修改或者去掉。
    新建列名称时候不小心粘贴了换行 把 names 粘贴成'name
    names'啦,我尝试删除列名,去掉这列进行备份,数据库管理程序直接卡死,在控制台运行也报错,有没有办法?谢谢
    codehz
    codehz
    Feb 24, 2023 via iPhone❤️4
    4
    说白了就是 mysql 的实现限制问题,text 存放有额外空间需求,隔壁 postgresql 都没有这种破事
    jaggle
    jaggle
    OP
    Feb 24, 2023
    5
    @qile1 ALTER TABLE table_name RENAME `old_field` TO `new_field`; 试试改一下列名
    realpg
    realpg
    Feb 24, 2023
    6
    加个 trigger 就完事
    Goat121
    Goat121
    Feb 24, 2023
    7
    @realpg 你是没经历过 trigger 盛行的年代吧,多了维护得你想死。互联网公司代码规范禁 trigger 都好多年了吧
    Rache1
    Rache1
    Mar 1, 2023
    8
    刚刚看文档的时候发现,8.0.13 以后,可以给默认值了。

    https://dev.mysql.com/doc/refman/8.0/en/data-type-defaults.html#data-type-defaults-explicit-old

    需要你用括号括起来,就像这样。

    create table text_default(t1 text default ('haha'));
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   837 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 23:53 · PVG 07:53 · LAX 15:53 · JFK 18:53
    ♥ Do have faith in what you're doing.