У меня есть две таблицыMySQL ключ декларации путаница иностранных
CREATE TABLE members(
id INT PRIMARY KEY AUTO_INCREMENT,
email VARCHAR(50),
password char(128),
salt char(128),
status VARCHAR(20),
profile VARCHAR(15),
unlock_code INT,
username VARCHAR(20),
privilege VARCHAR(15)
);
CREATE TABLE member_details(
detail_id INT PRIMARY KEY AUTO_INCREMENT,
first_name VARCHAR(50),
middle_name VARCHAR(50),
last_name VARCHAR(50),
contact VARCHAR(12),
dob VARCHAR(10),
nic VARCHAR(15),
mobile VARCHAR(12),
userid INT,
FOREIGN KEY (userid) REFERENCES members(id)
);
Как дело в том, что, когда я DESCRIBE TABLE
MUL
это показывает.
Двигатель - InnoDB.
Кроме того, хорошо ли не объявлять внешние ключи и просто использовать JOINS в запросе и заставить его действовать как внешний ключ?
'Если ключ является MUL, столбец является первым столбцом неединичного индекса, в котором в столбце разрешены множественные вхождения заданного значения .'. См. [14.7.5.5 Синтаксис SHOW COLUMNS] (http://dev.mysql.com/doc/refman/5.7/ru/show-columns.html). – wchiquito
Итак, значит ли это, что это неправильный подход? Показывает ли Mysql какой-либо знак или ключевое слово, указывающее, что это внешний ключ? – Stan
Независимо от того, будет ли это неправильный подход, будет зависеть от того, что вам нужно. С информацией, которую вы предоставляете, это не похоже на неправильный подход. DESCRIBE TABLE не укажет, является ли это внешним ключом. – wchiquito