mysql Insertar en múltiples tablas
intentar insertar datos en múltiples tablas con una sola consulta MySQL puede generar resultados inesperados. Si bien puede parecer que múltiples consultas resolverían el problema, correlacionando la ID de autoincremento de la tabla de usuario a la ID de usuario manual para la tabla de perfil presenta un desafío.
usando transacciones y last_insert_id () para insertar en múltiples tablas en una sola transacción, use el siguiente enfoque:
; Insertar en usuarios (nombre de usuario, contraseña) valores ('prueba', 'prueba'); Insertar en los valores de perfiles (INSEREDID, BIO, HomePage) (last_insert_id (), '¡Hola mundo!', 'Http://www.stackoverflow.com'); Confirmar;
BEGIN; INSERT INTO users (username, password) VALUES('test', 'test'); INSERT INTO profiles (userid, bio, homepage) VALUES(LAST_INSERT_ID(),'Hello world!', 'http://www.stackoverflow.com'); COMMIT;
mySql variable:
INSERT INTO ... SELECT LAST_INSERT_ID() INTO @mysql_variable_here; INSERT INTO table2 (@mysql_variable_here, ...);
INSERT ... $result = mysql_query("SELECT LAST_INSERT_ID()"); $id = mysql_result($result, 0); INSERT INTO table2 ($id, ...);
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3