Saya tidak dapat menambahkan kunci asing sederhana ke meja saya. Saya sebelumnya sudah bisa menambahkan kunci asing tetapi hanya bertipe INT atau BIGINT. Saya mencoba membuat tipe ini VARCHAR dan menerima kesalahan 1215 dengan deskripsi tidak dapat menambahkan batasan kunci asing.
Perintah yang menyebabkan kegagalan:
ALTER TABLE `TradingAccount`
ADD CONSTRAINT `email`
FOREIGN KEY (`owner_id`)
REFERENCES `User` (`email`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
Owner_id dan email keduanya bertipe data VARCHAR(255).
Saya menggunakan MySQL Workbench dan merasa ada kesalahan konfigurasi yang tidak memungkinkan saya menggunakan varchar untuk batasan kunci asing? Apakah saya perlu mengatur mysqlworkbench untuk menggunakan INNODB atau itu default.
Bantuan apa pun akan sangat membantu, tepuk tangan.
show create table user
,show create table TradingAccount
? Jika mau, Anda dapat menghapus semua kolom yang tidak digunakan, tetapi harus membiarkan setiap indeks/kunci diUser
di dalamnya (Anda mungkin tidak memiliki indeks diemail
di sana). - person Solarflare   schedule 31.08.2017