Я работаю над базой данных, которая размещается на онлайн-сервере (Linux). Мне пришлось сделать большие изменения в этой базе данных, поэтому я переместил (путем экспорта, затем импортировал) эту базу данных в локальную, созданную мной (Windows Server).Можно ли импортировать мою базу данных на другой сервер?
После работы в эти последние дни в локальной базе данных я решил, что работа уже выполнена, поэтому я экспортировал локальную базу данных и импортировал ее в живую, но я не мог. Это дало мне ошибку, связанную с внешнего ключа:
#1215 - Cannot add foreign key constraint
В таблице phpmyadmin
сказал, что был один с некоторыми ошибками была printprices
и эти создания таблицы я имею для printprices
и другие таблицы, которые могут иметь какое-то отношение к ошибка:
CREATE TABLE `printprices` (
`STYLE` int(11) NOT NULL DEFAULT '0',
`DIFICULTAD` int(11) NOT NULL DEFAULT '0',
`NCOLORES` int(11) NOT NULL DEFAULT '0',
`PROVEEDOR` int(11) NOT NULL DEFAULT '0',
`SIZECM2MAX` int(11) NOT NULL DEFAULT '0',
`MINQ` int(11) NOT NULL,
`MAXQ` int(11) NOT NULL,
`PRECIO` decimal(5,2) DEFAULT '0.00',
`PRECIOPRV` decimal(5,2) DEFAULT '0.00',
`MINWORK` decimal(5,2) DEFAULT '0.00',
`MINWORKPRV` decimal(5,2) DEFAULT '0.00',
PRIMARY KEY (`STYLE`,`DIFICULTAD`,`NCOLORES`,`PROVEEDOR`,`SIZECM2MAX`,`MINQ`),
KEY `FK_PRINT` (`STYLE`,`DIFICULTAD`,`NCOLORES`,`PROVEEDOR`),
CONSTRAINT `FK_PRINT` FOREIGN KEY (`STYLE`, `DIFICULTAD`, `NCOLORES`, `PROVEEDOR`) REFERENCES `print` (`STYLE`, `DIFICULTAD`, `NCOLORES`, `PROVEEDOR`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8
CREATE TABLE `print` (
`STYLE` int(11) NOT NULL DEFAULT '0',
`DIFICULTAD` int(11) NOT NULL DEFAULT '0',
`NCOLORES` int(11) NOT NULL DEFAULT '0',
`PROVEEDOR` int(11) NOT NULL DEFAULT '0',
`CFC` decimal(5,2) DEFAULT '0.00',
PRIMARY KEY (`STYLE`,`DIFICULTAD`,`NCOLORES`,`PROVEEDOR`),
KEY `FK_PRINTPROV` (`PROVEEDOR`),
KEY `FK_PRINTSTYLE` (`STYLE`),
CONSTRAINT `FK_PRINTPROV` FOREIGN KEY (`PROVEEDOR`) REFERENCES `proveedores` (`CODIPRV`) ON DELETE CASCADE,
CONSTRAINT `FK_PRINTSTYLE` FOREIGN KEY (`STYLE`) REFERENCES `printstyle` (`CODISTY`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8
CREATE TABLE `printstyle` (
`CODISTY` int(11) NOT NULL AUTO_INCREMENT,
`STYLE` varchar(30) DEFAULT NULL,
PRIMARY KEY (`CODISTY`)
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=latin1
CREATE TABLE `proveedores` (
`CODIPRV` int(11) NOT NULL AUTO_INCREMENT,
`PROVEEDOR` varchar(20) DEFAULT NULL,
`ENVIOPRICE` decimal(4,2) NOT NULL DEFAULT '0.00',
`CARTONPRICE` decimal(4,2) NOT NULL DEFAULT '0.00',
`LIMITPRICE` decimal(6,2) NOT NULL,
PRIMARY KEY (`CODIPRV`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1
запустите команду «ПОКАЖИТЕ ДВИГАТЕЛЬ INNODB STATUS» и проверьте поле «ПОСЛЕДНИЕ ЗНАКИ ИНОСТРАННОГО КЛЮЧА», сообщите, что вы там видите. Это может помочь вам или нам определить проблему! – Sevle
Я совсем потерялся, я никогда не делал этого раньше. – danibg
В интерфейсе phpmyadmin перейдите на вкладку «SQL» и напишите «SHOW ENGINE INNODB STATUS». Затем нажмите «Параметры» и установите флажок «Полные тексты». Наконец нажмите «GO». Если вы попытались импортировать свои таблицы в один и тот же сеанс, и вы получили ошибку «1215», появится поле «ПОСЛЕДНИЙ ИНОСТРАННЫЙ КЛЮЧ», в котором будет указана дополнительная информация об этой ошибке. – Sevle