После импорта MySQLdb
модуля я иду вперед и подключение к MySql Maria дб:Как создать внешний ключ MySQLDb
import MySQLdb
db = MySQLdb.connect(host="localhost", user="user", passwd="pass", db="test")
Теперь я хочу, чтобы создать две таблицы: Writers
и Readers
. Я хочу Readers
иметь внешний ключи атрибута «Writer_id», который будет указывать на соответствующий Writer:
with db:
cHandler=db.cursor()
cHandler.execute("CREATE TABLE Writers(Id INT PRIMARY KEY AUTO_INCREMENT)")
cHandler.execute("CREATE TABLE Readers(Id INT PRIMARY KEY AUTO_INCREMENT, FOREIGN KEY(Writer_id) REFERENCES Writers(Id)) ")
Но код завершается с ошибкой:
_mysql_exceptions.OperationalError: (1072, "Key column 'x' doesn't exist in table")
Где ошибка?
1072 выглядит похож на http://stackoverflow.com/questions/13812863/1072-key-column-doesnt-exist-error-with-mysql-foreign-key, док: HTTP://dev.mysql.com/doc/refman/5.7/en/error-messages-server.html#error_er_key_column_does_not_exits – davedwards