weixin_43405952 2023-02-23 13:10 采纳率: 80.6%
浏览 28
已结题

请问Mysql、Sqlite是不是对插入数据库的内容有什么限制吗?

请问Mysql、Sqlite是不是对插入数据库的内容有什么限制吗?
最近在学数据库的时候遇到了这种问题。这个现象在VB.NET、Python、Ruby上都有发生,基本能排除编程语言对输入内容的影响。在使用sqlite的时候发现其对中文的支持确实有问题,文件名、路径也要避免,所以在测试的时候,基本上没有中文,就是数字和英文字母,例如家里的随机数字\号码、mm、jj之类的没什么具体意义的内容,新建数据表的时候字段的数据类型选的也是TEXT、CHAR之类的字符串类型。然而很奇怪,有时候输入mm都不行,程序会报错。

img

img

这是用Ruby写的一个小程序,提示内容应该是输入内容有问题。

  • 写回答

2条回答 默认 最新

  • kangxiaoche 2023-02-23 17:50
    关注

    insert语句中values中的值最好都加单引号,例如你图中显示的插入语句应该是:
    insert into ss1(tm,mc,sl,sj,xse,cb,gys,rq)values('9909','jm','4','4.5','20','10','gg','2003-03-09')
    但是你的脚本在插入值时并未生成单引号,所以会报错。提示错误从jm开始的原因是数字类型的数在插入时可以不加引号,所以并未报错9909,而是从字符串类型的数据jm开始报错。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月3日
  • 已采纳回答 2月23日
  • 创建了问题 2月23日