私はインターネットでこの問題の解決策を探し、スタックオーバーフローの質問を確認しましたが、私の解決策はどれもうまくいきませんでした。
テーブルsira_noからmetal_kodへの外部キーを作成します。
ALTER TABLE sira_no
ADD CONSTRAINT METAL_KODU FOREIGN KEY(METAL_KODU)
REFERENCES metal_kod(METAL_KODU)
ON DELETE SET NULL
ON UPDATE SET NULL ;
このスクリプトは次を返します:
Error Code: 1005. Can't create table 'ebs.#sql-f48_1a3' (errno: 150)
参照されているテーブルにインデックスを追加してみました:
CREATE INDEX METAL_KODU_INDEX ON metal_kod (METAL_KODU);
両方のテーブル(charsetとcollation)でMETAL_KODUをチェックしましたが、この問題の解決策が見つかりませんでした。この問題を解決するにはどうすればよいですか?
これがmetal_kodテーブルです。
METAL_KODU varchar(4) NO PRI
DURUM bit(1) NO
METAL_ISMI varchar(30) NO
AYAR_YOGUNLUK smallint(6) YES 100
metal_kod
テーブルのスキーマを表示できますか?外部キーが参照する必要があるのは、そのテーブルのどのフィールドですか?