여기서 Alter를 사용하는 것은 Cast를 사용하는 것과 비교하여 잘못된 선택입니까?
P粉176203781
P粉176203781 2023-09-13 17:14:57
0
1
463

그래서 모든 varchar(255)로 테이블을 만든 다음 CAST를 사용하여 UNSIGNED로 변경하기로 결정했습니다(모든 값이 양수이므로). 확인해 보니 unsigned 로 변경되어 있었습니다. 그런데 테이블 전체를 다시 확인해 보니 해당 열이 여전히 varchar로 처리되어 있는 것을 발견했습니다.

제가 이해한 바에 따르면 CAST는 특정 코드에서만 작동하며 영구적으로 변경되지는 않습니다. 컬럼 유형을 영구적으로 변경하려면 아래와 같이 ALTER를 사용해야 합니까?

그렇다면 사람들은 왜 ALTER 대신 CAST를 사용하는 걸까요?

CREATE table project.worldcup_players ( MatchID varchar (255), Team_Initials varchar (255), Coach_Name varchar (255), Player_Name varchar (255) ); SELECT * FROM project.worldcup_players; SELECT CAST(MatchID AS UNSIGNED) AS MatchID FROM project.worldcup_players; ALTER TABLE project.worldcup_players CHANGE COLUMN `MatchID` `MatchID` INT NULL DEFAULT NULL ;

P粉176203781
P粉176203781

모든 응답 (1)
P粉004287665

CAST는 쿼리의 표현식 결과만 변경합니다. 데이터 저장 방법을 변경하지 않고 때때로 부호 없는 정수로 변경하려는 경우 CAST를 사용할 수 있습니다.

데이터 저장 방식을 변경하려면 ALTER TABLE을 사용해야 합니다.

MatchID가 특정 일치에 대해서만 숫자로 표시된다고 가정해 보세요. 다른 대회에서는 대회가 알파벳 문자열로 식별됩니다. 이 경우 열은 지정된 테이블의 모든 행에 대해 동일한 데이터 형식으로 저장되어야 하므로 열은 varchar여야 합니다. 테이블을 수정하지 마십시오. 숫자가 아닌 모든 문자열이 0에 해당하는 숫자로 변경됩니다.

    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿
    회사 소개 부인 성명 Sitemap
    PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!