系统启动的时候初始化一些基础信息,使用了存储过程。每次启动系统的时候调用存储过程。表设计如下
存储过程如:
现在遇到的问题是每次启动系统时非中间表无任何问题,但是中间表的已有其他数据会全部清空。为何会出现这样问题?如何解决?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
바꾸기는 삽입과 유사합니다. 테이블의 새 레코드가 PRIMARY KEY 또는 UNIQUE INDEX의 이전 데이터와 동일한 경우 새 데이터가 삽입되기 전에 이전 데이터가 삭제됩니다.
데이터 테이블에 외래 키 제약 조건이 있는 것 같습니다. 따라서 상위 테이블 user 및 role의 "id" 키가 삭제될 때마다 user_role 테이블의 해당 콘텐츠도 계단식으로 삭제됩니다. 삭제 시 계단식 업데이트 시 캐스케이드
user_info 테이블의 외래 키 제약 조건은 다음과 같습니다.
아마도 replace into를 사용하여 비슷한 문제가 발생하지 않은 다른 곳에서 데이터를 삭제했을 것입니다.
replace into
바꾸기:
바꾸기는 삽입과 유사합니다. 테이블의 새 레코드가 PRIMARY KEY 또는 UNIQUE INDEX의 이전 데이터와 동일한 경우 새 데이터가 삽입되기 전에 이전 데이터가 삭제됩니다.
외래 키 제약 조건 및 계단식 삭제
데이터 테이블에 외래 키 제약 조건이 있는 것 같습니다. 따라서 상위 테이블 user 및 role의 "id" 키가 삭제될 때마다 user_role 테이블의 해당 콘텐츠도 계단식으로 삭제됩니다. 삭제 시 계단식 업데이트 시 캐스케이드
user_info 테이블의 외래 키 제약 조건은 다음과 같습니다.
으아악아마도
replace into
를 사용하여 비슷한 문제가 발생하지 않은 다른 곳에서 데이터를 삭제했을 것입니다.