db 컬럼추가
본문
이상하네요.. 이게 왜 안되죠?
어디가 잘못된건지..
프린트 찍어보면 잘 나오는거 같은데 db 에 생성이 안되네요 ..
$addcol = array();
for ($i=9; $i<=20; $i++){
array_push( $addcol , "ADD `car_number".$i."` VARCHAR(255) NOT NULL" );
array_push( $addcol , "ADD `car_kind".$i."` VARCHAR(255) NOT NULL" );
array_push( $addcol , "ADD `car_weight".$i."` VARCHAR(255) NOT NULL" );
array_push( $addcol , "ADD `car_info".$i."` VARCHAR(255) NOT NULL" );
array_push( $addcol , "ADD `car_kind".$i."_etc` VARCHAR(255) NOT NULL" );
array_push( $addcol , "ADD `car_weight".$i."_etc` VARCHAR(255) NOT NULL" );
}
$addcol_str = implode(",",$addcol);
$query = "ALTER TABLE `{$g5['member_table']}` ".$addcol_str;
sql_query($query);
print_r($query);
답변 3
아래 코드로 테스트해보니 생성 잘 됩니다. 코드 이상은 없어보이네요.
$addcol = array();
for ($i=11; $i<=12; $i++){
array_push( $addcol , "ADD `mb_".$i."` VARCHAR(255) NOT NULL" );
}
$addcol_str = implode(",",$addcol);
$sql = "ALTER TABLE `{$g5['member_table']}` ".$addcol_str;
sql_query($sql);
print_r2($member);
Array
(
[mb_no] => 1
[mb_id] => ...
[mb_password] => ...
[mb_name] => 최고관리자
[mb_nick] => 최고관리자
[mb_nick_date] => 0000-00-00
[mb_email] => *** 개인정보보호를 위한 이메일주소 노출방지 ***
[mb_homepage] =>
[mb_level] => 10
[mb_sex] =>
[mb_birth] =>
[mb_tel] =>
[mb_hp] =>
[mb_certify] =>
[mb_adult] => 0
[mb_dupinfo] =>
[mb_zip1] =>
[mb_zip2] =>
[mb_addr1] =>
[mb_addr2] =>
[mb_addr3] =>
[mb_addr_jibeon] =>
[mb_signature] =>
[mb_recommend] =>
[mb_point] => 974260
[mb_today_login] => 2021-04-14 23:20:14
[mb_login_ip] => 127.0.0.1
[mb_datetime] => 2020-07-09 01:45:27
[mb_ip] => 127.0.0.1
[mb_leave_date] =>
[mb_intercept_date] =>
[mb_email_certify] => 2020-07-09 01:45:27
[mb_email_certify2] =>
[mb_memo] =>
[mb_lost_certify] =>
[mb_mailling] => 1
[mb_sms] => 0
[mb_open] => 1
[mb_open_date] => 0000-00-00
[mb_profile] =>
[mb_memo_call] => momo
[mb_memo_cnt] => 6
[mb_scrap_cnt] => 0
[mb_1] =>
[mb_2] =>
[mb_3] =>
[mb_4] =>
[mb_5] =>
[mb_6] =>
[mb_7] =>
[mb_8] =>
[mb_9] =>
[mb_10] =>
[mb_11] =>
[mb_12] =>
[mb_dir] => ad
)
https://stackoverflow.com/questions/16335011/what-is-maximum-query-size-for-mysql
https://forums.mysql.com/read.php?20,161869
혹시 모르니
max_allowed_packet bulk_insert_buffer_size key_buffer_size
이런 mysql 설정을 살펴 보세요.
잘찍힌다고 캡쳐하신 화면의 로그를 긁어서 직접 phpMyAdmin 또는 HeidiSql 같은 툴로 실행시켜보세요
뭐가 문제인지 바로 확인가능하실겁니다.
참고로
한 테이블의 컬럼들의 바이트수가 Unsigned Integer 사이즈로 알고있습니다.
컬럼사이즈들의 합이 그것을 초과하면 추가로 만들수없죠