mysql中能不能实现修改外键?
现在的条件是:不知道外键名称,但知道表名、字段名称。以及应用表的表名和主键名

解决方案 »

  1.   

    修改还是删除?是要这样吗?
    ALTER TABLE ibtest11c DROP FOREIGN KEY ??
      

  2.   

    show create table 就能看啦
      

  3.   

    或这样查看:
    select * from information_schema.table_constraints where table_schema='库名' and table_name='表名'
      

  4.   


    不能看数据库是,是指不能看数据库的数据字典还是什么?
    如楼上 vinsonshen 指出的,你可以通过 show create table , information_schema.table_constraints 来得到外键的名字。
    然后进行修改。
      

  5.   

    select database();就能查到你当前连的库了
      

  6.   


    假设你的这个服务器上有 db1,db2,db3, ..dbN 个MYSQL数据库。
    每个数据库中表名,外键均不相同。那你想删除什么? 删除所有的外键约束? 如果是删除所有的外键约束。其它有一个方法,就是取消所有的外键约束 set foreign_key_checks=OFF;
      

  7.   

    如果没有权限,只有先将外键约束通过设置去掉(SET FOREIGN_KEY_CHECKS = 0;),删除完外键后再恢复过来
    (SET FOREIGN_KEY_CHECKS = 1;)
      

  8.   

    还有一种方法,通过ADO、ADOX取得表间关系,如外键名、字段名、外键约束名等等,再
    DROP掉,不过,相比SET FOREIGN_KEY_CHECKS = 0 来,复杂不少