取消外键约束后,有联系的表之间的关系怎么连起来?还有麻烦帮我解读一下这句话的意思和作用吧,通俗一些,太专业会听不懂。
```sql
INDEX `user_id`(`user_id`) USING BTREE
```
取消外键约束后,有联系的表之间的关系怎么连起来?还有麻烦帮我解读一下这句话的意思和作用吧,通俗一些,太专业会听不懂。
```sql
INDEX `user_id`(`user_id`) USING BTREE
```
一句话一句话解释,若有帮助,记得采纳哦。 有问题可以留言。
1、取消外键约束后:就是使用sql命令 ALTER TABLE 表名 DROP FOREIGN KEY 外键名。 取消表中的外键的限制。举个例子,一个人有多本书,那就是需要有person表和book表,book表有(bid, book_name,pid)三列 ,若没有外键约束,此时往book表里面添加一行数据,如bid = 001, book_name = '《围城》',pid = p001。 结果就是可以正确插入到book表里。 但就针对业务场景来说,是不对的,因为person表中没有pid为p001的人。因为此时没有设置约束,所以即使现在父表(personr)中不存在对应的id,但是子表依然可以使用,这就是一个错误。
2、有联系的表之间的关系怎么连起来: 这句话的意思时,虽然没有约束条件,但是book表里面依然存在person的id信息。 只不过没有约束罢了。两表联查的话依然是采用person表的id 去关联book表中的pid。
3、总结:有了约束后可以保证业务数据可以正确关联并且落到数据表中,但表与表之前的关联字段还是pid,对应题主的就是代码里面的user_id了。