1

そこには:

重複レコードなしでテーブルにデータを挿入しようとすると、次の両方の 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'
  );

ヒントはありますか?

4

0 に答える 0