数据库中插入语句中为什么插入一个int类型的值使用‘ ’也行?!!!

2024-11-22 12:58:56
推荐回答(2个)
回答1:

不同的数据库有不同的实现。
有些数据库会报错。有些数据库会试图进行类型转换。比如把‘’转换成0
有些数据库会试图把''转换成null(如果表中该列允许null)
所以尽量不要在SQL中用这种容易引起误会的写法

回答2:

a列是int型,可为null
1.当执行这个语句--insert into mytable(a) values('')
结果是 a值为0,等价于:insert into mytable(a) values('0')、insert into mytable(a) values(0)
2.当执行这个语句--insert into mytable(a) values(null)
结果是a为null