반응형
데이터베이스의 행 순서 변경
데이터베이스 테이블의 행 순서를 변경해야 합니다.제 테이블은 4열 7열로 되어 있습니다.이 행들을 다시 정렬해야 합니다.
pk_i_id int(10) unsigned Auto Increment
s_name varchar(255) NULL
s_heading varchar(255) NULL
s_order_type varchar(10) NULL
관리자에서 pk_i_id 값(숫자)을 다른 값으로 변경하면 이 오류가 발생합니다.
Cannot delete or update a parent row: a foreign key constraint fails (`database_name`.`oc_t_item_custom_attr_categories`, CONSTRAINT `oc_t_item_custom_attr_categories_ibfk_1` FOREIGN KEY (`fk_i_group_id`) REFERENCES `oc_t_item_custom_attr_groups` (`pk_i_id`))
어떻게 바꾸는지 아세요?감사해요.
편집
oc_t_item_custom_attr_카테고리
fk_i_group_id int(10) unsigned
fk_i_category_id int(10) unsigned
인덱스
PRIMARY fk_i_group_id, fk_i_category_id
INDEX fk_i_category_id
초기 키
fk_i_group_id oc_t_item_custom_attr_groups_2(pk_i_id) RESTRICT RESTRICT
fk_i_category_id oc_t_category(pk_i_id) RESTRICT RESTRICT
테이블의 외부 키를 변경해야 합니다.database_name
.oc_t_item_custom_attr_categories
참조하는 열과 함께 업데이트되도록 합니다.
ALTER TABLE database_name.oc_t_item_custom_attr_categories DROP CONSTRAINT oc_t_item_custom_attr_categories_ibfk_1;
ALTER TABLE database_name.oc_t_item_custom_attr_categories
ADD CONSTRAINT oc_t_item_custom_attr_categories_ibfk_1 FOREIGN KEY (fk_i_group_id)
REFERENCES oc_t_item_custom_attr_groups (pk_i_id)
ON UPDATE CASCADE;
MariaDB는 테이블 작성 후 외부 키 추가를 지원하지 않는 것 같기 때문에 테이블 설명이 올바르다고 가정하면 다음과 같이 동작합니다.
RENAME TABLE oc_t_item_custom_attr_categories TO oc_t_item_custom_attr_categories_2;
CREATE TABLE oc_t_item_custom_attr_categories (
fk_i_group_id int(10) unsigned,
fk_i_category_id int(10) unsigned,
PRIMARY KEY(fk_i_group_id, fk_i_category_id),
INDEX (fk_i_category_id),
CONSTRAINT `oc_t_item_custom_attr_categories_ibfk_1` FOREIGN KEY (fk_i_group_id)
REFERENCES oc_t_item_custom_attr_groups (pk_i_id)
ON UPDATE CASCADE,
CONSTRAINT `oc_t_item_custom_attr_categories_ibfk_2` FOREIGN KEY (fk_i_category_id)
REFERENCES oc_t_category (pk_i_id)
) ENGINE = XtraDB; --change engine to what you are using
INSERT INTO oc_t_item_custom_attr_categories SELECT * FROM oc_t_item_custom_attr_categories_2;
MySQL 데이터베이스의 예제 데이터에 대한 작동 방식: http://rextester.com/ZAKR50399
언급URL : https://stackoverflow.com/questions/42153793/reorder-rows-in-database
반응형
'source' 카테고리의 다른 글
java.util을 실행합니다.List. is Empty() 목록 자체가 null인지 확인합니다. (0) | 2023.01.29 |
---|---|
미래와 약속의 차이점은 무엇입니까? (0) | 2023.01.29 |
Vue.js, Vuex, Vue-Router SPA 및 애플리케이션 클라이언트 측과 서버 측 간의 확장 (0) | 2023.01.29 |
장고는 스케일링 되나요? (0) | 2023.01.29 |
jQuery를 사용하여 DIV를 화면 중앙에 배치 (0) | 2023.01.29 |