다음과 같은 mysql 쿼리를 실행하려고하는데 오류가 발생하지는 않지만 작동하지도 않습니다. 난 그냥 중복이 감지되면 열 이름을 업데이 트 싶어요. 감사 : O)이중화 키 테이블 변경
<?php
$form_id = $_POST[form_id];
$query = mysql_query(<<<EOT
ALTER TABLE `email_history` ADD `$form_id` VARCHAR(255) NOT NULL)
ON DUPLICATE KEY ALTER TABLE `email_history` CHANGE `$form_id` `$form_id` VARCHAR(255) NOT NULL
EOT
) or die(mysql_error());
?>
편집 >>>>>>> I 업데이트하려고했던 유일한 이유는 형태를 편집 할 때 스크립트가 오류하지 않도록했다. 사용자가 해당 열 아래에 날짜가 기록 된 템플릿을 사용하여 전자 메일을 보내면 전자 메일 템플릿이 만들어지고 전자 메일 기록 테이블에 열이 추가됩니다. 이 문제는 전자 메일 기록에서 템플릿에 대한 열을 다시 만들려고 할 때 열 만들기 스크립트가 편집하려고 할 때 전자 메일 서식 파일을 편집 할 때 발생합니다. 오류가 발생하면 템플릿을 편집 할 때 열이 이미 있음을 알게되고 시도하지 않은 것이 이상적입니다. 그것을 다시 만들어라.
동적으로 해당 테이블에 열을 추가하려고 시도하고 해당 열이 이미 존재하면 유형을 변경하려고합니까? 그렇다면 디자인을 재고해야합니다 (단 한번의 업그레이드 유형 프로세스는 아니지만 확실하게 보이지는 않습니다). – Mat
어쩌면 그는 NoSQL 배경에서 오는 것입니다 :-) –
안녕하세요, 저는 열을 변경하고 싶지 않습니다. 한 번 실행하고 열을 만든 다음 문제가 있습니다. 양식을 편집하면 스크립트가 다시 작성됩니다. 컬럼을 다시 생성하십시오. 컬럼이 존재한다면 스크립트를 다시 만들지 않는 것이 이상적입니다. –