6
tengo esto:MySQL: error 150 usando ON UPDATE SET NULL y ON DELETE SET NULL, ¿por qué?
DROP TABLE IF EXISTS `sf_guard_user`;
CREATE TABLE `sf_guard_user`
(
`id` INTEGER(11) NOT NULL AUTO_INCREMENT,
`username` VARCHAR(128) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `sf_guard_user_U_1` (`username`)
)Type=InnoDB;
DROP TABLE IF EXISTS `shop_orders`;
CREATE TABLE `shop_orders`
(
`orders_id` INTEGER(11) NOT NULL AUTO_INCREMENT,
`sfgu_id` INTEGER(11) NOT NULL,
PRIMARY KEY (`orders_id`),
INDEX `shop_orders_FI_1` (`sfgu_id`),
CONSTRAINT `shop_orders_FK_1`
FOREIGN KEY (`sfgu_id`)
REFERENCES `sf_guard_user` (`id`)
ON UPDATE SET NULL
ON DELETE SET NULL,
)Type=InnoDB;
y yo estoy recibiendo este error:
1005 - Can't create table 'prueba1.shop_orders' (errno: 150)
si no quito las líneas en NULL SET UPDATE y ON DELETE SET NULL.
¿Alguna idea de por qué?
Saludos
Javi
Sí, es verdad que no puedo declarar 'sfgu_id' como NOT NULL. – ziiweb
Uno de esos en los que cuando leí tu respuesta fue "¡Oh!". Gracias :) – LeonardChallis