数据库职工有一张表person,表结构与数据如图所示:
执行SQL语句 Insert into person(id_card_num ,first_name,last_name,gender,age)value(310001,banana,yellow,1,13) on duplicate key update age=13 以下描述正确的是()?
第一条数据(id=1)first_name,last_name,age分别是banana,yellow,13,其他均保持不变
第二条数据(id=2)age置为13,其他均保持不变
第一条数据(id=1)age置为12,其他均保持不变
第二条数据(id=2)id_cart_num,gender,age分别置为310001,1,13,其他均保持不变
...,age)value(310001,banana,yellow,1,13)update on duplicate...
on duplicate key update
可以达到以下目的:
向数据库中插入一条记录:
本题中id_card_num
为UNIQUE KEY,310001
已存在,所以应该执行on duplicate key update
后的操作,将该条记录的age
更新为13
。
//本题sql Insert into person(id_card_num ,first_name,last_name,gender,age)value(310001,banana,yellow,1,13) update on duplicate key update age=13 //正确sql,更新单条记录时使用values,更新多条记录时使用value Insert into person(id_card_num ,first_name,last_name,gender,age)values(310001,banana,yellow,1,13) on duplicate key update age=13