如何使用DBD :: SQLite创建表触发器?

vic*_*LLA 0 sqlite perl dbi

任何人都可以使用DBI的do()方法提供创建表触发器的语法.它似乎并不像我把一切都放在一条线上.不知道我做错了什么.这是我得到的:

$dbh->do("CREATE TABLE image(img_id integer primary key, md5sum text, path text, name text, date DATE)");
$dbh->do("CREATE TRIGGER insert_img_date AFTER  INSERT ON image BEGIN UPDATE image SET date = DATETIME('NOW') END");
Run Code Online (Sandbox Code Playgroud)

xxx*_*xxx 5

即使您从控制台尝试,您的第二个SQL语句也无效.
这里有一些修复(现在它可以工作):

CREATE TRIGGER insert_img_date AFTER  INSERT ON image BEGIN UPDATE image SET date = DATETIME('NOW'); END ;
Run Code Online (Sandbox Code Playgroud)

  • 愚蠢的男人.非常感谢你. (2认同)