gpt4 book ai didi

MySQL删除没有名字的外键

转载 作者:可可西里 更新时间:2023-11-01 07:58:11 24 4
gpt4 key购买 nike

我正在尝试创建一个脚本,该脚本将从多个不同的 MySQL 数据库中删除没有设置名称的外键约束。我创建了以下脚本:

SET @CN := (SELECT CONSTRAINT_NAME
FROM
information_schema.KEY_COLUMN_USAGE
WHERE
table_name = 'inventory' and referenced_table_name='product_code' and referenced_column_name='shipping_code');

ALTER TABLE inventory DROP FOREIGN KEY @CN;

它正在正确获取约束名称。但是它提示 ALTER TABLE 命令中的变量 @CN。为什么这行不通?

最佳答案

MySQL 期望在那里有一个固定名称。所以,只需使用动态 SQL:

set @sql = 'ALTER TABLE inventory DROP FOREIGN KEY @CN';
set @sql = replace(@sql, '@CN', @CN);

prepare alterTable from @sql;
execute alterTable;

关于MySQL删除没有名字的外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39402398/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com