辰蘭 2019-05-24 18:36 采纳率: 0%
浏览 2136

超出varchar指定长度为什么也成功存进数据库了???

本人基本上算个小白。。

前一段时间做数据库,我一直以为varchar是自动增长的,就随手把一个字段设置为了varchar(5000)。
但是今天在网上忽然发现varchar不能超过指定长度,简直崩溃, 因为出问题就全都要重做了。

可是我去数据库里面没有发现数据被截断啊?
图片说明

而且里面显示28741chars,不是明显超出5000了吗?

本人用的数据库是sqlite3.

求大神指点。感激不尽!

  • 写回答

3条回答 默认 最新

  • king?? 2022-03-29 20:20
    关注

    What is the maximum size of a VARCHAR in SQLite?

    SQLite does not enforce the length of a VARCHAR. You can declare a VARCHAR(10) and SQLite will be happy to store a 500-million character string there. And it will keep all 500-million characters intact. Your content is never truncated. SQLite understands the column type of "VARCHAR(N)" to be the same as "TEXT", regardless of the value of N.
    意思是你定义了长度,哪怕超出了还是不会被截取!官方原话如上。有点考古吧,但网上没人考究,我正好查到就给后面的人开开路
    https://www.sqlite.org/faq.html#q9

    评论

报告相同问题?

悬赏问题

  • ¥15 WPF使用Canvas绘制矢量图问题
  • ¥15 用三极管设计一个单管共射放大电路
  • ¥15 孟德尔随机化r语言运行问题
  • ¥15 pyinstaller编译的时候出现No module named 'imp'
  • ¥15 nirs_kit中打码怎么看(打码文件是csv格式)
  • ¥15 怎么把多于硬盘空间放到根目录下
  • ¥15 Matlab问题解答有两个问题
  • ¥15 LCD12864中文显示
  • ¥15 在使用CH341SER.EXE时不小心把所有驱动文件删除了怎么解决
  • ¥15 gsoap生成onvif框架