主要問題以及解決辦法是:
1,MySQL支援外鍵限制,并提供與其它DB相同的功能,但表(外鍵表和外鍵主表)類型必須為 InnoDB,外鍵表和外鍵主表的類型都要是innoDB
建表限制語句:
user表:
1
2
3
4
5
6
<code>CREATE</code> <code>TABLE</code> <code>`usert` (</code>
<code> </code><code>`id` </code><code>int</code><code>(11) </code><code>NOT</code> <code>NULL</code> <code>AUTO_INCREMENT,</code>
<code> </code><code>`</code><code>password</code><code>` </code><code>varchar</code><code>(255) </code><code>COLLATE</code> <code>utf8_unicode_ci </code><code>DEFAULT</code> <code>NULL</code><code>,</code>
<code> </code><code>`userName` </code><code>varchar</code><code>(255) </code><code>COLLATE</code> <code>utf8_unicode_ci </code><code>DEFAULT</code> <code>NULL</code><code>,</code>
<code> </code><code>PRIMARY</code> <code>KEY</code> <code>(`id`)</code>
<code>) ENGINE=InnoDB</code>
bill新表中有一個外鍵限制 tb_bill_fk指向 user表中的id :
<code>CREATE</code> <code>TABLE</code> <code>bill (</code>
<code> </code><code>id </code><code>INT</code> <code>PRIMARY</code> <code>KEY</code> <code>NOT</code> <code>NULL</code> <code>AUTO_INCREMENT,</code>
<code> </code><code>user_id </code><code>INT</code><code>,</code>
<code> </code><code>CONSTRAINT</code> <code>FOREIGN</code> <code>KEY</code> <code>tb_bill_fk (user_id) </code><code>REFERENCES</code> <code>usert(id)</code>
<code>) ENGINE=INNODB</code>