那里:
当我尝试在没有任何重复记录的情况下在表中插入数据时,我使用以下两个 SQL 语句。但它们都不适合我。我的 mysql 版本是 5.1.33-community。
SELECT @nextID := IFNULL( MAX( N_KEY ), 0 ) + 1
FROM SYS_DICT
WHERE N_CAT = 1;
IF (SELECT COUNT(*) AS N_COUNT
FROM SYS_DICT
WHERE N_CAT=1 AND C_VALUE='welcome'
) <= 0
THEN
INSERT INTO SYS_DICT
VALUES( 1, @nextID, 1, 100, 'welcome');
END IF
或者
SELECT @nextID := IFNULL( MAX( N_KEY ), 0 ) + 1
FROM SYS_DICT
WHERE N_CAT=1;
INSERT INTO SYS_DICT
VALUES ( 1, @nextID, 1, 100, 'welcome')
WHERE NOT EXISTS (
SELECT N_KEY
FROM SYS_DICT
WHERE N_CAT=1 AND C_VALUE='welcome'
);
有什么提示吗?