home Foro de soporte Servicio Hosting MySQL
 
[SOLUCIONADO] accion ON SET NULL / DEFAULT en mySQL
Haz clic para ver el perfil del usuario
Machacateclados
Machacateclados
·
#1 · ·

hola amigos de mi@,

tengo una tabla padre y una tabla hija(ON DELETE SET NULL):

Código:

create table Themes ( ThemeID int primary key, ThemeName varchar(100) );
create table Users ( UserID int primary key, UserName varchar(100), ThemeID int, constraint Users_ThemeID_FK foreign key (ThemeID) references Themes(ThemeID) on delete set null);

Si en lugar de usar ON DELETE SET NULL(que me funciona perfectamente:t) ) en la tabla hija, utilizo ON DELETE SET DEFAULT:

Código:
create table Users ( UserID int primary key, UserName varchar(100), ThemeID int DEFAULT 00, constraint Users_ThemeID_FK foreign key (ThemeID) references Themes(ThemeID) on delete set default);

MySQL no me deja crear la tabla¡¡:?) ¡, me devuelve el error "ERROR 1215 (HY000): Cannot add foreign key constraint"

El comando SHOW ENGINE INNODB STATUS; me dice "...Syntax error close to: default)"

He leido en foros sobre este error pero no soy capaz de solucionarlo ¿me podeis echar una mano para solucionarlo?

Gracias, saludos:x)

Haz clic para ver el perfil del usuario
@man / @woman
@man / @woman
· ·
#2 ·

Hola Craven78, revisa la documentación de ayuda de la versión de MySql que estás utilizando.

En las que uso yo (5.0 y 5.1) el SET DEFAULT el motor de InnoDB jamás ejecutará esa sentencia (a pesar que las reconoce y parsea sin error).

Haz clic para ver el perfil del usuario
Machacateclados
Machacateclados
·
#3 ·

Gracias por tu erspuesta GestionXLS,

yo uso la version 5.6 y tmpoko me deja usar el SET DEFAULT, aunque no entiendo eso de k "la reconoce pero no funciona en InnoDB", ¿significa que en futuras vesiones piodria funcionar o como? entiendo k no funciona(lo dice en el manual, y eso va a  misa:8) ), lo k no entiendo bien es la razon k da(funciona pero no funciona¿?)

el comportamiento de SET DEFAULT es similar al de SET NULL, sin embargo esta ultima funciona en mySQL pero la primera no ¿tan "distintas" son como para que una funcione y otra no?

como te digo(el manual va a misa), pero la razon no m convence mucho(no parece haberla).....un saludo gestionXLS:x)

Haz clic para ver el perfil del usuario
@man / @woman
@man / @woman
· ·
#4 ·

La reconoce, pero no la ejecuta significa que la sintaxis está dentro del SQL, pero que no está impleentada para ejecutarse.

ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES,
te recomendamos abrir un nuevo tema en lugar de responder al actual
Foro de soporte · Servicio Hosting · MySQL
Opciones:
Subscríbete a este tema
Date de baja de este tema
Ir al subforo:  
TU NO PUEDES Escribir nuevos temas en este foro
TU NO PUEDES Responder a los temas en este foro
TU NO PUEDES Editar tus propios mensajes en este foro
TU NO PUEDES Borrar tus propios mensajes en este foro
Ahora son las 10:06 UTC+02:00 DST
Temas similares
 I TemaAutorMensajesVisitasÚltima respuesta
No Hay mensajes nuevos10/Nov/2014, 18:46
1524k09/Mar/2019, 18:38
 Ir al último mensaje del tema
No Hay mensajes nuevos21/Feb/2011, 09:55
350221/Feb/2011, 23:41
 Ir al último mensaje del tema
No Hay mensajes nuevos20/Dic/2009, 17:41
499012/Mar/2010, 15:59
 Ir al último mensaje del tema