我经常需要在重建之前删除PostgreSQL数据库中的所有数据.我将如何直接在SQL中执行此操作?
目前我已经设法提出一个SQL语句,它返回我需要执行的所有命令:
SELECT 'TRUNCATE TABLE ' || tablename || ';' FROM pg_tables WHERE tableowner='MYUSER';
Run Code Online (Sandbox Code Playgroud)
但是,一旦拥有它们,我就无法以编程方式执行它们.
我有两张桌子:
TableY:
id, name, description
TableX:
id, name, y_id
Run Code Online (Sandbox Code Playgroud)
我在TableX(y_id REFERENCING tableY id ON DELETE CASCADE)中添加了一个外键.当我删除时TableX,TableY id遗骸(虽然理论上应该删除).我想我误解了该ON DELETE CASCADE选项是如何工作的.谁能说出我做错了什么?
我也看到了这个ON DELETE CASCADE,但对我来说没有多大意义.