mysql如果不存在

mysql如果不存在,mysql,if-statement,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,spBirthD

我来自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

我不是一个数据库专家,但我就是这样做的


我不是一个数据库专家,但我就是这样做的


可能重复:可能重复:需要注意的一件事是select语句中过滤记录集的强制、不必要计数。另一种方法是从lookup_表中选择1到CheckExists,其中someField=in_SomeParam LIMIT 1;需要注意的一件事是select语句中已过滤记录集的强制、不必要计数。另一种方法是从lookup_表中选择1到CheckExists,其中someField=in_SomeParam LIMIT 1;
    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;