1

私はこのテーブル(SystemEvents)を持っています:

id       ipv4        ipnumber
 1       1.2.3.4      
 2       3.4.5.6

このテーブルの最後の行を更新する AFTER INSERT トリガーが必要です。

次のようなもの

UPDATE SystemEvents 
SET ipnumber=INET_ATON(NEW.ipv4)
WHERE id=NEW.id

これは正しいです?

構文は問題ないように見えますが、機能させることができません!

どんな助けでも大歓迎です。

ありがとうございました!

4

2 に答える 2

3

BEFORE INSERT作品の使用

delimiter |
CREATE TRIGGER `some_name` BEFORE INSERT ON SystemEvents
FOR EACH ROW BEGIN
   SET NEW.ipnumber = INET_ATON(NEW.ipv4);
END
| 
delimiter ;

SQLFiddle デモ

于 2013-07-04T10:41:44.983 に答える
0

これを試して:

UPDATE SystemEvents 
SET ipnumber=INET_ATON(NEW.ipv4)
WHERE id=(SELECT MAX(id) FROM SystemEvents WHERE id < NEW.id);
于 2013-07-04T10:57:27.950 に答える