在values列出的数据位置必须与被加入的列的排列位置相应🎮
友友们 大家好呀 我是你们的小王同学😋😋 今天给大家带来的是MySQL的insert语句注意事项 希望能给大家带来有用的知识🎊 小王的github🎀:WANGxinzhe666 · GitHub 小文的gitee🎗:比特王信哲 (bitewang) - Gitee.com 小王的主页🎍:小王同学
我们先创建一个goods表
create table `goods`(
id INT,
goods_name VARCHAR(10),
price DOUBLE );
下面插入一条语句
insert into `goods`(id ,goods_name,price)
values ('abc','小米手机',2000);
很显然是不可以的 因为id是一个整型 接收不了abc的类型!
小王同学打算再试着插入一条语句:
insert into `goods`(id ,goods_name,price)
values ('30','小米手机',2000);
居然可以通过 原因是 `30`这个字符串可以转化成整型的 但是abc 跟文字也不行!
insert into `goods`(id ,goods_name,price)
values (40,'vivovivovivovivo手机',2000);
结果报错了error
insert into `goods`(id ,goods_name,price)
values ('华为手机',20,2000);
原因就是 排列位置不匹配导致的!!
例如:
insert into `goods`(id ,goods_name,price)
values (40,vivo手机,2000);
很显然是不行的! 因为goods_name是一个varchar类型 是字符串要用单引号引起来
insert into `goods`(id ,goods_name,price)
values (30,'华为手机',NULL);
我们查看表 发现找到了
create table `goods`(
id INT,
goods_name VARCHAR(10),
price DOUBLE NOT NULL);
如果在属性后面加了 NOT NULL之后就不允许插入空值了!就会出现图片上的错误
insert into `goods`
values (50,'三星手机',2300),(60,'海尔手机',1900);
我们再向goods表中添加两条数据
如下图:
insert into goods
values(90,'苹果手机',5000),(45,'一加手机',4800);
然后select*from goods 表查看 成功了!
我们可以指定某个列的默认值 ,可以在创建表时创建
create table `goods8`(
id INT,
goods_name VARCHAR(10),
price DOUBLE NOT NULL DEFAULT 100);
insert into `goods`(id,goods_name)
values(60,'格力手机');
显然 price 默认给的就是100!
以上就是小王同学带给大家的insert注意事项