有此SQL。數據庫phpmyadmin插入觸發器
CREATE TABLE `accounts` (
`account_id` int(3) NOT NULL,
`username` varchar(36) NOT NULL,
`password` varchar(36) NOT NULL,
`email` varchar(60) NOT NULL,
`access_level` int(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `normal_profile` (
`normal_profileid` int(11) NOT NULL,
`first_name` varchar(64) NOT NULL,
`middle_name` varchar(64) NOT NULL,
`last_name` varchar(64) NOT NULL,
`age` int(2) NOT NULL,
`gender` varchar(6) NOT NULL,
`account_id` int(3) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `normal_profile`
ADD CONSTRAINT `normal_profile_ibfk_1` FOREIGN KEY (`account_id`) REFERENCES `accounts` (`account_id`);
以上是如何設置的約束。
每當我插入到我的帳戶表的東西,我也必須查詢插入到normal_profile表嗎?或者我可以自動創建它,以便數據庫本身只需將一行添加到normal_profile,其中account_id = accounts.account_id?
我對插入約束有一個模糊的記憶,或者我可能會誤會嗎?
和數據庫應該如何知道什麼進入不相關的領域? – e4c5
我已經在normal_profile表中將account_id設置爲FK。 我需要設置更多嗎? – john