【发布时间】:2014-08-20 17:57:00
【问题描述】:
来自 SO 的朋友们好!
这段代码以前可以工作,但是当我克隆数据库时它似乎停止工作。有一个名为 maps 的表,它有一些默认值,例如最大值。据我了解,如果我的 INSERT 代码没有值,那么将使用默认值。
这就是我正在做的:
这些值可能存在,也可能不存在。
$scan->maximo_exploracion = addslashes($_GET['scan_maximo_exploracion']);
$scan->proceso_analisis = addslashes($_GET['scan_proceso_analisis']);
$scan->email_user = addslashes($_GET['scan_email_user']);
$scan->email_owner = addslashes($_GET['scan_email_owner']);
那么:
db_ask($db_resonance_slave, "
INSERT INTO mapas
SET
usuario_id = '$user->id',
maximo_exploracion = '$scan->maximo_exploracion',
proceso_analisis = '$scan->proceso_analisis',
email_user = '$scan->email_user',
email_owner = '$scan->email_owner',
max_proc = '5',
proceso_exploracion = 'esperando',
direccion = '$scan->address',
dominio = '$scan->dominio',
dominio_id = '$dominio->id',
server_address = '$scan->server_address',
server_zone = '$scan->zone_name',
server_zone_code = '$scan->zone_code',
server_response_speed = '$scan->server_response_speed'
");
现在,几天前,同样的代码,如果$scan->maximo_exploracion没有任何信息,就会插入记录,默认值为100。 p>
此时,它显示为空白。这当然会导致问题。
有什么想法吗?
谢谢! 克里斯;
桌子:
CREATE TABLE `mapas` (
`id` INT(12) NOT NULL AUTO_INCREMENT,
`usuario_id` VARCHAR(256) NOT NULL,
`maximo_exploracion` VARCHAR(256) NOT NULL DEFAULT '100',
`max_proc` VARCHAR(256) NOT NULL,
`open_proc` VARCHAR(256) NOT NULL,
`hora_lanzado` VARCHAR(256) NOT NULL,
`direccion` VARCHAR(256) NOT NULL,
`dominio` VARCHAR(256) NOT NULL,
`dominio_id` VARCHAR(256) NOT NULL,
`idioma` VARCHAR(256) NOT NULL,
`server_address` VARCHAR(256) NOT NULL,
`server_zone` VARCHAR(256) NOT NULL,
`server_zone_code` VARCHAR(256) NOT NULL,
`server_response_speed` VARCHAR(256) NOT NULL,
`proceso_exploracion` VARCHAR(256) NOT NULL DEFAULT 'esperando',
`proceso_analisis` VARCHAR(256) NOT NULL DEFAULT 'esperando',
`email_owner` VARCHAR(256) NOT NULL DEFAULT 'False',
`email_user` VARCHAR(256) NOT NULL DEFAULT 'True',
`eliminado` INT(12) NOT NULL DEFAULT '0',
`creacion` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
)
COMMENT='Almacena mapas, los mapas son ordenes de exploración y análisis para un dominio específico.' 整理='latin1_swedish_ci' 引擎=InnoDB;
【问题讨论】:
-
如果你改变的只是数据库端,为什么不发布所有关于数据库端的信息?
-
fancyPants 先生/小姐,这绝对是合乎逻辑的,这就是我刚才所做的。
-
这是来自克隆数据库还是原始数据库?只是为了确定......
-
出乎我的意料,我删除了原来的那个。这是来自克隆的数据库。这是一个网络爬虫的片段,因为它太大了,我划分了数据库,创建了一个主/从方案。但是,现在正在做这种行为......
-
我怀疑您的脚本将 maximo_exploracion 设置为空白而不是 NULL。由于空白不为空,它没有插入默认值。
标签: php mysql insert default-value