MySQL에서 단일 쿼리를 사용하여 여러 테이블에 동시에 데이터를 삽입하는 것은 불가능합니다. 그러나 이를 달성하기 위한 대체 접근 방식이 있습니다:
여러 INSERT 문을 일괄적으로 실행할 수 있습니다:
BEGIN; INSERT INTO visits (visit_id, card_id) VALUES (NULL, 12131141); INSERT INTO registration (registration_id, type, timestamp, visit_id) VALUES (NULL, 'in', UNIX_TIMESTAMP(), LAST_INSERT_ID()); COMMIT;
또는 두 INSERT 문을 모두 캡슐화하는 저장 프로시저를 생성할 수 있습니다:
CREATE PROCEDURE insert_into_multiple_tables( IN card_id INT ) BEGIN INSERT INTO visits (visit_id, card_id) VALUES (NULL, card_id); INSERT INTO registration (registration_id, type, timestamp, visit_id) VALUES (NULL, 'in', UNIX_TIMESTAMP(), LAST_INSERT_ID()); END
그런 다음 원하는 카드 ID로 저장 프로시저를 실행할 수 있습니다:
CALL insert_into_multiple_tables(12131141);
데이터 무결성을 보장하기 위해 배치 또는 저장 프로시저를 트랜잭션으로 래핑할 수 있습니다.
BEGIN TRANSACTION; -- Execute INSERT statements here COMMIT;
INSERT 문 중 하나라도 실패하면 트랜잭션이 롤백되어 다음을 보장합니다. 영향을 받는 모든 테이블의 데이터는 일관되게 유지됩니다.
위 내용은 MySQL의 여러 테이블에 데이터를 삽입하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!