Php 有没有什么有效的方法可以从一个表中全选并插入到另一个表中
我需要PHP PDO和SQLITE3的帮助。我有桌上设备,比如Php 有没有什么有效的方法可以从一个表中全选并插入到另一个表中,php,pdo,Php,Pdo,我需要PHP PDO和SQLITE3的帮助。我有桌上设备,比如 CREATE TABLE device ( object_identifier integer PRIMARY KEY NOT NULL, object_name varchar(1024), vendor_name varchar(1024), vendor_identifier integer, model_name varchar(1024), firmware_revision varchar(1024), a
CREATE TABLE device (
object_identifier integer PRIMARY KEY NOT NULL,
object_name varchar(1024),
vendor_name varchar(1024),
vendor_identifier integer,
model_name varchar(1024),
firmware_revision varchar(1024),
application_software_version varchar(1024),
protocol_version integer,
protocol_revision integer,
max_apdu_length_accepted integer,
apdu_timeout integer,
number_of_apdu_retries integer,
database_revision integer,
system_status integer,
protocol_object_types_supported varchar(65),
segmentation_supported integer,
protocol_services_supported varchar(65),
local_time varchar(32),
local_date varchar(32),
location varchar(1024),
object_list_num integer
);
我还有另一个像杰贝尼一样的桌上扇子
CREATE TABLE fan_coil_jebeni (
object_identifier integer PRIMARY KEY NOT NULL,
object_name varchar(1024),
vendor_name varchar(1024),
);
我的问题是,有没有什么有效的方法可以从设备中选择全部并插入到风扇线圈中,而无需通过光标反复输入。要插入的行很多?您可以使用
这个怎么样:
INSERT INTO fan_coil_jebeni SELECT object_identifier, object_name, vendor_name FROM device;
如果运行多次,则不考虑这一点。fan_coil_jebeni上的主键将由于重复条目而失败。例如,如果两个表中的a列都是唯一的自动增量,则这不起作用,因为您无法插入a列,但所有其他/剩余列都不能插入。此外,如果将a用作ID,则它在两个表中应保持不变,因此临时删除自动增量之类的糟糕解决方法也不起作用。
INSERT INTO fan_coil_jebeni SELECT object_identifier, object_name, vendor_name FROM device;
CREATE TABLE IF NOT EXISTS `table1` SELECT * FROM `table2`