在清理这个答案时,我TRIGGER在MySQL 中学到了一些关于s和存储过程的知识,但我惊讶地发现,虽然BEFORE INSERT和BEFORE UPDATE触发器可以修改数据,但它们似乎不会导致插入/更新失败(即验证).在这种特殊情况下,我能够通过操纵数据来使这一点工作,从而导致主键复制,在这种特殊情况下,这是有意义的,但在一般意义上并不一定有意义.
这种功能在MySQL中是否可行?在任何其他RDBMS(我的经验仅限于MySQL)?也许是一种THROW EXCEPTION风格语法?
我想知道,有没有可能创建一个没有主键的表,但有两个外键,外键对总是不同?例如,一个STOCK有桌子item_id和warehouse_id从外键ITEMS和WAREHOUSES表.所以同样的物品可以在不同的仓库中.表格视图:
item_id warehouse_id quantity
10 200 1000
10 201 3000
10 202 10000
11 200 7000
11 202 2000
12 203 5000
Run Code Online (Sandbox Code Playgroud)
或者我是否必须使用自动增量创建未使用的主键字段?数据库是oracle.
谢谢!