sql >> Base de Datos >  >> RDS >> Mysql

ERROR 1452 (23000):No se puede agregar o actualizar una fila secundaria:falla una restricción de clave externa

La razón por la que obtiene esa excepción es porque está insertando un registro en la tabla test_usershosts cuál es el valor del userID no está presente en la tabla test_users . Igual que el valor de hid tampoco está presente en la tabla test_hosts .

Tabla test_usershosts depende de tablas:test_users y test_hosts . Así que asegúrese de que al insertar registros en la tabla test_usershosts , los valores para hid y userid ya existe en las tablas principales:test_users y test_hosts .

Intente ejecutar esta consulta y seguramente se insertará.

INSERT INTO test_usershosts (RID,userid,hid,Usr,Pass) 
VALUES (NULL,1120,30,'user','pass');

Veo que AUTO_INCREMENT opción en tablas:test_users y test_hosts , no son necesarios ya que proporciona valores en cada consulta que ejecuta en las dos tablas.