小编Dyl*_*ann的帖子

更新查询时的MYSQL案例

这是我的桌子.

我需要做的是创建一个CASE WHEN UPDATE Query来更新

  • CurrentCredit +1如果1-15

  • CurrentCredit +2如果16-30

  • CurrentCredit x.10并在> = 31时向上舍入

mysql sql

4
推荐指数
1
解决办法
1万
查看次数

将计数存储在变量中,插入到行中,以及在 MySQL 中使用 IF 语句

您可以在 MySQL 存储过程中使用 IF 语句来控制所采取的操作。语法如下:

 IF condition THEN ... do something ... END IF;
Run Code Online (Sandbox Code Playgroud)

IF 语句中的条件可以类似于 CASE 语句中的条件。有关其他信息,请查看 MySQL 的网站。

您还可以在执行插入后检索自动增量 ID。只需使用以下查询:

 SELECT LAST_INSERT_ID() into artist_id;
Run Code Online (Sandbox Code Playgroud)

对于这个项目,创建一个名为 AddAlbum 的新过程。它至少需要两个参数 - NameOfArtist 和 AlbumName(就像在上一个项目中一样)。

您的过程需要检查 Artists 表以查看 NameOfArtist 是否存在。如果它不存在,您需要添加一个新行。以下是步骤:

  1. 使用 Artists 上的 COUNT 聚合来查看 NameOfArtist 存在多少行。将计数存储在一个名为artist_count 的变量中。
  2. 如果artist_count 为零,则在Artists 中插入一个新行。

—— Select the LAST_INSERT_ID() into a variable.

  1. 如果artist_count 为1,则查找ArtistID 并将其存储在变量中。
  2. 在相册表中插入一个新行。

代码:

CREATE PROCEDURE AddAlbum(

NameOfArtist varchar(50),

AlbumName varchar(50)

);
BEGIN

DECLARE artist_count INT;

DECLARE artist_id INT;

SELECT COUNT(ArtistName) INTO artist_count …
Run Code Online (Sandbox Code Playgroud)

mysql stored-procedures

1
推荐指数
1
解决办法
2万
查看次数

标签 统计

mysql ×2

sql ×1

stored-procedures ×1