自己写:删完复查,连内容一起对
补全 DELETE:把「零食」那一类删掉。复查两样:还剩几行、零食是不是真的一个不剩。输出三样:删了几行、还剩几行、还有没有零食(用 / 隔开)。 id name cat price s
自己写:改完用另一条查询复查
补全 UPDATE:把「饮料」那一类都降价 1 块。复查那一行已经写好了,它按降价之后应有的最低价去数。输出三样:命中几行、复查数到几行、对不对得上(用 / 隔开)。 id name cat
改之前几行,改之后几行
把库存空着的那些改成 0,前后各按"库存空着"数一次。输出三个数:改前几行、命中几行、改后几行(用 / 隔开)。 id name cat price stock
一批改到一半失败了,已经改的怎么办
一批语句连着改好几行,改到第三条时撞上约束失败了。默认情况下,前两条已经改掉的【0】。
为什么不能只看"没报错"
一条 UPDATE 跑完,没有任何报错。光凭这一点,你还不知道【0】。
复查该查的是哪一样
改完一批数据之后做复查,最该查的是【0】。
自己写:三种违反各试一次
补全三条语句,让它们分别撞上主键、唯一、非空三种约束。输出三次各违反了哪一条,再输出表里还剩几行(用 / 隔开)。 id name cat price stock 约束 1
自己写:故意撞一次,把错误认出来
补全条件:故意把某一行的名字改成表里已经存在的名字,让唯一约束把它拦下来。输出两样:违反了哪一条、表里还剩几行(用 / 隔开)。 id name cat price stock
自己写:插一行不违反任何约束
补全这条 INSERT:加一行「话梅/零食/7 元」,id 和名字都不能和表里现有的撞,库存那一列不给也行。输出两样:表里现在几行、有没有报错(用 / 隔开)。 id name cat p
改成一个已经有人用的名字
名字那一列是唯一的。把红茶的名字改成"绿茶"(表里已经有绿茶)。输出两样:违反了哪一条、是哪一列(用 / 隔开)。 id name cat price stock