4 回答

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超4個(gè)贊
SHOW ENGINE INNODB STATUS;
LATEST FOREIGN KEY ERROR
CREATE TABLE t1(id INTEGER);CREATE TABLE t2(t1_id INTEGER, CONSTRAINT FOREIGN KEY (t1_id) REFERENCES t1 (id));
Can't create table 'test.t2' (errno: 150)
SHOW ENGINE INNODB STATUS;
------------------------ LATEST FOREIGN KEY ERROR ------------------------ 130811 23:36:38 Error in foreign key constraint of table test/t2: FOREIGN KEY (t1_id) REFERENCES t1 (id)): Cannot find an index in the referenced table where the referenced columns appear as the first columns, or column types in the table and the referenced table do not match for constraint.
SHOW INDEX FROM t1
t1
t1

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超6個(gè)贊
ALTER TABLE `dbname`.`tablename` CHANGE `fieldname` `fieldname` int(10) UNSIGNED NULL;

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超8個(gè)贊
如果您重新創(chuàng)建一個(gè)被刪除的表,它必須有一個(gè)符合引用它的外鍵約束的定義。如前面所述,它必須具有正確的列名和類型,并且必須在引用的鍵上有索引。如果不滿足這些要求,MySQL將返回錯(cuò)誤號(hào)1005,并在錯(cuò)誤消息中引用錯(cuò)誤150。如果MySQL從CREATETABLE語(yǔ)句中報(bào)告錯(cuò)誤號(hào)1005,并且錯(cuò)誤消息引用錯(cuò)誤150,則表創(chuàng)建失敗,因?yàn)橥怄I約束沒(méi)有正確形成。
添加回答
舉報(bào)