0
是否可以更改鍵/外鍵的屬性(不刪除並重新創建它們)?更改mysql中的外鍵屬性
我有以下結構:
CREATE TABLE `articles` (
..
`LKZ` smallint(3) NOT NULL,
`FID` int(4) NOT NULL,
..
) ;
CREATE TABLE `firm` (
`LKZ` smallint(3) NOT NULL,
`FID` int(4) NOT NULL,
`Name` text NOT NULL,
PRIMARY KEY (`LKZ`,`FID`),
KEY `FID` (`FID`)
);
ALTER TABLE `firm`
ADD CONSTRAINT `firm_ibfk_1` FOREIGN KEY (`LKZ`) REFERENCES `articles` (`LKZ`) ON DELETE NO ACTION,
ADD CONSTRAINT `firm_ibfk_2` FOREIGN KEY (`FID`) REFERENCES `articles` (`FID`);
我想要的屬性UNSIGNED ZEROFILL
添加到田間地頭FID
和LKZ
:
ALTER TABLE `articles` CHANGE `LKZ` `LKZ` SMALLINT(3) UNSIGNED ZEROFILL NOT NULL, CHANGE `FID` `FID` INT(4) UNSIGNED ZEROFILL NOT NULL;
ALTER TABLE `firm` CHANGE `LKZ` `LKZ` SMALLINT(3) UNSIGNED ZEROFILL NOT NULL, CHANGE `FID` `FID` INT(4) UNSIGNED ZEROFILL NOT NULL
但即使收到以下錯誤兩個表:
#1025 - Error on rename of '.\pindex\#sql-3eec4_ef' to '.\pindex\articles' (errno: 150)