mysql 如果不存在

标签 mysql if-statement

我来自 MSSQL,现在使用 Mysql,这可能很简单,但是你如何执行一个 如果不存在声明。谢谢

IF NOT EXISTS(SELECT * from users WHERE Username = spUsername)
    BEGIN
    INSERT into users(ID,Username,Password,Email,Birthdate,DateJoin)
            VALUES(UUID(),spUsername,spPassword,spEmail,spBirthDate,NOW());
    END

最佳答案

无论如何我都不是数据库专家,但我就是这样做的。

http://www.somethinghitme.com/2010/05/06/mysql-stored-procedures-if-not-exists/

    DECLARE SomeId int;
    DECLARE CheckExists int;
    SET CheckExists = 0;  

    SELECT 1 INTO CheckExists from lookup_table WHERE someField = in_SomeParam LIMIT 1;   

    IF (CheckExists > 0) THEN
        SELECT id INTO SomeId FROM lookup_table WHERE someField = in_SomeParam;
    ELSE
        INSERT INTO lookup_table (someField ) VALUES(in_SomeParam);
        SELECT SomeId = LAST_INSERT_ID();
    END IF; 

关于mysql 如果不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7113680/

相关文章:

MySQL 从 1 个表中选择,使用Where 跨不同数据库插入到另一个表中

mysql - 计算一个选择中除以条件的行数

python - 一行代码来保存 if 语句的值(value)?

vba - 循环为一行中的每个新数据创建一个新工作表 - MS Excel

Python数据框条件列填充

mysql - 重命名列名称中包含 ` 的 MySQL 列

mysql - 当行大小太大时如何转换MYSQL UTF-8?

mysql - 如何按左连接结果对 SQL 查询进行排序

c - 如何将其写成 switch 语句?

C if 语句被跳过