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

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

img

img

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

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开始报错。