CREATE TABLE `admin_pengesahan` (
`P_ID` INT(11) NOT NULL AUTO_INCREMENT,
`Ad_nama` VARCHAR(50) NULL DEFAULT NULL,
`Ad_jawatan` VARCHAR(50) NULL DEFAULT NULL,
`Ad_tarikh` DATE NULL DEFAULT NULL,
`Ad_keputusan` VARCHAR(50) NULL DEFAULT NULL,
PRIMARY KEY (`P_ID`),
CONSTRAINT `FK_admin_pengesahan_pemohon` FOREIGN KEY (`P_ID`) REFERENCES `pemohon` (`P_ID`)
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
CREATE TABLE `pemohon` (
`P_ID` INT(11) NOT NULL AUTO_INCREMENT,
`K_nom_siri` VARCHAR(50) NOT NULL,
`P_status` VARCHAR(50) NULL DEFAULT NULL,
`P_nama` VARCHAR(100) NOT NULL,
`P_jenis_aset` VARCHAR(100) NOT NULL,
`P_pengguna_terakhir` VARCHAR(100) NOT NULL,
`P_tarikh_rosak` DATE NOT NULL,
PRIMARY KEY (`P_ID`, `K_nom_siri`),
INDEX `FK_pemohon_info_kenderaan` (`K_nom_siri`)
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
答案 0 :(得分:0)
insert into pemohon(K_nom_siri,P_status,P_nama,P_jenis_aset,P_pengguna_terakhir,P_tarikh_rosak) values('abc','1','a'.'try','hello',2016-04-21);
=> use single quote for varchar type.
答案 1 :(得分:0)
Insert into tbl_name(clm1,clm2,clm3,.....) values(clm1_value,clm2_value,clm3_value,......)
答案 2 :(得分:0)
首先,您需要从两个表中收集数据:
$sql = "SELECT * FROM admin_pengesahan";
$sqlPrepared = $conn->prepare($sql);
$sqlPrepared->execute();
$rows_admin_pengesahan = $sqlPrepared->fetchAll(PDO::FETCH_ASSOC);
$sql = "SELECT * FROM pemohon";
$sqlPrepared = $conn->prepare($sql);
$sqlPrepared->execute();
$rows_pemohon = $sqlPrepared->fetchAll(PDO::FETCH_ASSOC);
现在,信息行已存储在两个单独的数组中。下一步是您创建senarai_pengesahan表。现在您必须记住使用正确的数据类型创建所有列,以便您可以支持前两个表中的所有信息。由于值得注意的是两个表都有不同的列数,因此我们可以肯定新表中会有很多NULL值(只是抬头)。
创建该表后,您可以继续使用类似于以下代码插入值:
foreach ($rows_admin_pengesahan as $row)
{
$sql = "INSERT INTO senarai_pengesahan SET (P_ID, Ad_nama, /*...*/) VALUES (".$row['P_ID'].", ".$row['Ad_nama'].", /*...*/)";
$sqlPrepared = $conn->prepare($sql);
$sqlPrepared->execute();
}
我希望有所帮助!
注意:我们没有得到任何关于是否要以特定方式组织新表以便最小化NULL值的细节。无论如何,以前的代码至少应该指向正确的方向。