如何使用mysql中的现有列添加外键
我有一个名为transactions的下表,我想使用列account_id添加外键。但当我执行查询时,请参见下面受影响的0行。我不明白这个问题出了什么问题 我有两个表叫做交易和账户。Accounts表以id作为主键,并且account具有多个事务 交易表 账目表 运行查询后,列不应该显示F_K或类似PRI的内容吗?如何使用mysql中的现有列添加外键,mysql,Mysql,我有一个名为transactions的下表,我想使用列account_id添加外键。但当我执行查询时,请参见下面受影响的0行。我不明白这个问题出了什么问题 我有两个表叫做交易和账户。Accounts表以id作为主键,并且account具有多个事务 交易表 账目表 运行查询后,列不应该显示F_K或类似PRI的内容吗? 任何帮助都会很好。谢谢 你的问题很好。受影响的0行仅意味着任何行中的数据均未更改,这是添加外部关键字时所需的结果;您的查询是完全正确的,但不会影响数据库中的任何行,这就是为什么返回0
任何帮助都会很好。谢谢 你的问题很好。受影响的0行仅意味着任何行中的数据均未更改,这是添加外部关键字时所需的结果;您的查询是完全正确的,但不会影响数据库中的任何行,这就是为什么返回0行affectedoh愚蠢的我!但是,当列和表存在时,这是添加外键的正确方法吗?@amjad是的,这是添加外键的正确方法。。。
+---------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| account_number | int(11) | YES | | NULL | |
| m_number | varchar(255) | YES | | NULL | |
| registration_number | varchar(255) | YES | | NULL | |
| page_number | varchar(255) | YES | | NULL | |
| entry_date | datetime | YES | | NULL | |
| narration | varchar(255) | YES | | NULL | |
| voucher_number | varchar(255) | YES | | NULL | |
| debit_credit | float | YES | | NULL | |
| profit | float | YES | | NULL | |
| account_code | int(11) | YES | | NULL | |
| balance | float | YES | | NULL | |
| branch | varchar(255) | YES | | NULL | |
| account_id | int(11) | YES | MUL | NULL | |
| created_at | datetime | YES | | NULL | |
| updated_at | datetime | YES | | NULL | |
+---------------------+--------------+------+-----+---------+----------------+
16 rows in set (0,01 sec)
mysql> ALTER TABLE transactions ADD FOREIGN KEY (account_id) REFERENCES accounts(id);
Query OK, 0 rows affected (0,03 sec)
Records: 0 Duplicates: 0 Warnings: 0
+-----------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| account_number | int(11) | YES | | NULL | |
| account_code | int(11) | YES | | NULL | |
| branch | varchar(255) | YES | | NULL | |
| name | varchar(255) | YES | | NULL | |
| father_name | varchar(255) | YES | | NULL | |
| nic_number | varchar(255) | YES | | NULL | |
| mohalla | varchar(255) | YES | | NULL | |
| village | varchar(255) | YES | | NULL | |
| nominee | varchar(255) | YES | | NULL | |
| relationship | varchar(255) | YES | | NULL | |
| opening_balance | float | YES | | NULL | |
| opening_date | datetime | YES | | NULL | |
| created_at | datetime | YES | | NULL | |
| updated_at | datetime | YES | | NULL | |
+-----------------+--------------+------+-----+---------+----------------+