com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:无法添加或更新子行:外键约束失败(storechainmanagement.user,CONSTRAINT user_ibfk_1 FOREIGN KEY(store_id)REFERENCES store(store_id))at sun.reflect.NativeConstructorAccessorImpl .newInstance0(本机方法)at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)at java.lang.reflect.Constructor.newInstance(Unknown Source)at com.mysql.jdbc com.mysql.jdbc.Util.getInstance(Util.java:408)中的.Util.handleNewInstance(Util.java:425)位于com.mysql的com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936) . jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973)com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909)com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527)com.mysql com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionIm)中的.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2680) pl.java:2484)com.mysql.jdbc.PreparedStatement.exe执行内部(PreparedStatement.java:1858)com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2079)com.mysql.jdbc.PreparedStatement.executeUpdateInternal (PreparedStatement.java:2013)com.mysql.jdbc.PreparedStatement.executeLargeUpdate(PreparedStatement.java:5104)位于com.azilen.storemanagement.dao的com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1998) . StoreManagementDaoImpl.saveManager(StoreManagementDaoImpl.java:323)位于com.azilen.storemanagement.service.StoreManagementServiceImpl.addManager(StoreManagementServiceImpl.java:35),位于javax的com.azilen.storemanagement.controller.CreateUserServlet.doPost(CreateUserServlet.java:51) .servlet.http.HttpServlet.service(HttpServlet.java:648)位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)的javax.servlet.http.HttpServlet.service(HttpServlet.java:729) )org.apache.catalina.core.Appl icationFilterChain.doFilter(ApplicationFilterChain.java:207)org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:106)位于org.apache的org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) . 位于org.apache.catalina.valve.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)的catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java: 88)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter . java:528)org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099)atg.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol.java:672)org.apache.tomcat.util .net.NioEndpoint $ SocketProcessor.doRun(NioEndpoint.java:1520)atg.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.run(NioEndpoint.java:1476)at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown来自java.util.concurrent.ThreadPoolExecutor $ Worker.run(未知来源)at org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run(TaskThread.java:61)at java.lang.Thread.run(未知来源)

@Override
public int saveManager(Manager manager) throws SQLException {
    int status = 0;
    PreparedStatement ps = null;
    Connection con = null;
    try {
        con = getConnection();
        ps = con.prepareStatement(
                "insert into user(user_id,first_name,last_name,email,password,mobile_number,user_type,store_id) values (?,?,?,?,?,?,?,?)");
        ps.setInt(1, (int) manager.getUserId());
        ps.setString(2, manager.getFname());
        ps.setString(3, manager.getLname());
        ps.setString(4, manager.getEmail());
        ps.setString(5, manager.getPassword());
        ps.setString(6, manager.getPhone());
        ps.setString(7, manager.getUserType());
        ps.setInt(8, (int) manager.getStore().getStoreId());
        status = ps.executeUpdate();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (ps != null) {
            ps.close();
        }
        if (con != null) {
            con.close();
        }
    }
    return status;
}