-1

問題 1)

テーブル (構造とデータの両方) を同じサーバー上の別のデータベースに複製したいと考えています。

MySQLiを使用してこれをどのようにコピーするのか疑問に思っています:

 CREATE  TABLE  `insurance`.`GD14062013` (  `URN` varchar( 30  )  NOT  NULL ,
 `Title` varchar( 30  )  NOT  NULL ,
 `FirstName` varchar( 30  )  NOT  NULL ,
 `LastName` varchar( 30  )  NOT  NULL ,
 `ADD` varchar( 500  )  NOT  NULL ,
 `SUB` varchar( 100  )  NOT  NULL ,
 `STATE` varchar( 100  )  NOT  NULL ,
 `POSTCODE` varchar( 30  )  NOT  NULL ,
 `DPID` varchar( 30  )  NOT  NULL ,
 `LanLine` varchar( 30  )  NOT  NULL ,
 `Mobile` varchar( 30  )  NOT  NULL ,
 `DUP` varchar( 11  )  NOT  NULL ,
 KEY  `LanLine` (  `LanLine` ,  `Mobile`  )  ) ENGINE  = InnoDB  DEFAULT CHARSET  = latin1;

SET SQL_MODE='NO_AUTO_VALUE_ON_ZERO';

INSERT INTO `insurance`.`GD14062013` SELECT * FROM `GDMASTER`.`GD14062013`;

問題 2)

列が不要になったら、別の列を削除したいと考えています。これは機能します:

$query = "ALTER TABLE  `$table` ADD  `primary` VARCHAR( 10 ) NOT NULL";
$mysqli->query($query); 
$query = "ALTER TABLE  `$table` ADD  `alternitive` VARCHAR( 10 ) NOT NULL";
$mysqli->query($query); 

これはしません:

    $query = "ALTER TABLE  `$table` DROP  `primary` VARCHAR( 10 ) NOT NULL";
    $mysqli->query($query); 
    $query = "ALTER TABLE  `$table` DROP  `alternitive` VARCHAR( 10 ) NOT NULL";
    $mysqli->query($query);         
4

2 に答える 2

0

試す:

$query = "ALTER TABLE  `$table` DROP  `primary`";
$mysqli->query($query); 
$query = "ALTER TABLE  `$table` DROP  `alternitive`";
$mysqli->query($query);         

ドロップするときに列のデータ型を渡す必要はありません。

MySQL ALTER TABLE 仕様:

ALTER TABLE tbl_name
    DROP [COLUMN] col_name
于 2013-06-14T09:18:58.623 に答える
0

あるはずがない

$query = "ALTER TABLE  `$table` DROP COLUMN  `primary`";
$mysqli->query($query); 
$query = "ALTER TABLE  `$table` DROP COLUMN `alternitive`";
$mysqli->query($query); 

DROP COLUMN に注意してください。変更するためにドロップできるテーブルの他の部分があります。すなわちCOLUMN、、、、および。INDEX_PRIMARY KEYFOREIGN KEY

テーブルの変更については、MySQL のマニュアルを参照してください。

于 2013-06-14T09:20:12.073 に答える