데이터베이스의 특정 데이터 형식이있는 모든 열을 변경하는 방법이 있습니까?모든 열을 변경 WHERE 데이터 형식
데이터 형식이 datetime(6)
인 일부 열이 있는데 그 중 어떤 것이 나는 단지 그 (것)들이 datatime
... 6 분수가 아니기를 바랄 것입니다. 이 모든 가능한 열을 지정하지 않고도 MySQL에서 할 수 있습니까? 감사합니다
데이터베이스의 특정 데이터 형식이있는 모든 열을 변경하는 방법이 있습니까?모든 열을 변경 WHERE 데이터 형식
데이터 형식이 datetime(6)
인 일부 열이 있는데 그 중 어떤 것이 나는 단지 그 (것)들이 datatime
... 6 분수가 아니기를 바랄 것입니다. 이 모든 가능한 열을 지정하지 않고도 MySQL에서 할 수 있습니까? 감사합니다
당신은 필요한 문장과 텍스트 문자열을 생성하고 어딘가에 저장 (내가 (6) 날짜와 열을 필요는 없지만, 그렇게해야)합니다
사용 간부 문 다음select
concat('ALTER TABLE ',
TABLE_SCHEMA,
'.',
table_name,
' CHANGE COLUMN ',
Column_name,
' ',
Column_name,
' DATETIME NULL DEFAULT NULL')
from
INFORMATION_SCHEMA.COLUMNS
where
table_schema = 'my_schema'
and data_type = 'datetime'
and character_maximum_length = 6 #may be numeric_precision, i don't know
, 같은 :
는PREPARE stmt1 FROM 'ALTER TABLE ....';
EXECUTE stmt1
datetime_precision을 사용하고 쿼리 끝에 세미콜론을 넣어야했습니다. 그러나 이것은 거의 매력처럼 일했습니다! 감사 – raygo
잘은 ..you이 http://stackoverflow.com/questions/3773480/how-do-i-alter-table-column-datatype에 대한 자세한 내용을 볼 수있는 기능을 수정하려면 사용할 수 있습니다 -on-more-than-1-column –
전체 데이터베이스에서이 작업을 수행하려고합니다. – raygo
그런 다음 모든 테이블의 스키마를 크롤링하고 ALTER TABLE 쿼리를 생성하는 스크립트를 작성해야합니다. – David162795