错误insert into mys(name,password,age) values('zhangsan','qwer','zh'); SQLite的特点

  +----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id       | int(11)     | NO   | PRI |         |       |
| name     | varchar(20) | YES  |     | NULL    |       |
| password | varchar(50) | YES  |     | NULL    |       |
| age      | int(11)     | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+

insert into mys(name,password,age) values('zhangsan','qwer','zh');

age与'zh'不匹配

字符串不能插入int里,int里只能插数据类型,不能插入字符类型。

报警:ERROR 1264 (22003): Out of range value adjusted for column 'age' at row 1

特别注意:SQLite有一个特点,它允许把各种类型的数据保存到任何类型的字段中,开发者不用关心声明该字段所使用的数据类型。

例如:程序中可以把字符串类型的值存入Integer类型的字段中,也可把数据类型的值存入到布尔类型的字段中,但有一个特殊情况除外,定义

为Integer primary key的字段中只能存储64为整数,当向这种字段保存除整数以外的其他类型的数据时,会产生错误。

原文地址:https://www.cnblogs.com/xilin/p/2609048.html