我有兩個SQL表,A和B.每個表都有主鍵ID。表B有字段X(可以是NULL),它指的是A的ID(如果它不是空的)。要使用哪個數據庫的ID?
然後,我需要存儲在表A的對象標識符的列表(存儲在一個文件)
你建議哪一個ID來使用,A.ID或B.ID列表中? (很顯然,如果在B中有一行的ID,我們可以推斷出A中一行的ID,只要B中的這一行具有非空X.)
[ADDED]要清楚:一個對象是部分存儲在A和部分B中
[ADDED]的表的結構(z_users是B,z_clients是A,z_users.client是字段X):
CREATE TABLE `z_users` ( `id` int(10) unsigned NOT NULL auto_increment, `password` varchar(255) collate utf8_bin NOT NULL, `fullname` varchar(255) collate utf8_bin NOT NULL, `phone` varchar(255) collate utf8_bin NOT NULL, `address` text collate utf8_bin NOT NULL, `email` varchar(255) collate utf8_bin default NULL, `admin` enum('false','true') collate utf8_bin NOT NULL default 'false', `worker` int(10) unsigned default NULL, `client` int(10) unsigned default NULL, PRIMARY KEY (`id`), UNIQUE KEY `worker` (`worker`), UNIQUE KEY `client` (`client`), UNIQUE KEY `email` (`email`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; CREATE TABLE `z_clients` ( `id` int(10) unsigned NOT NULL auto_increment, `company` text collate utf8_bin NOT NULL, `shortdesc` text collate utf8_bin NOT NULL, `site` varchar(255) collate utf8_bin NOT NULL, `affair` varchar(255) collate utf8_bin NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
編輯我的答案。 – Jacob