2014-11-23 111 views
0

我希望能够使用update语句为home_country字段设置默认值。MySql将列中的所有字段更新为默认值

这是数据库表:

CREATE TABLE `countries` (
    `id` smallint(6) NOT NULL AUTO_INCREMENT, 
    `name` varchar(70) COLLATE utf8_unicode_ci NOT NULL, 
    `home_country` tinyint(1) unsigned NOT NULL DEFAULT '0', 
    PRIMARY KEY (`id`), 
) ENGINE=MyISAM; 

我使用:

$sql = "UPDATE countries SET home_country = DEFAULT WHERE id = 1" 

但由于某些原因,它不是为我工作。 在上述国家,ID为1应设置为1 HOME_COUNTRY值,而所有其他重置为0

回答

3

你最好只是运行值直接

UPDATE countries SET home_country = 0 WHERE id = 1; 

如果你想动态的默认值设置,你将不得不做这样疯狂的事

UPDATE countries SET home_country = 
(SELECT column_default FROM information_schema.columns 
WHERE table_schema=DATABASE() 
AND table_name ='countries' 
AND column_name = 'home_country') WHERE id = 1; 
相关问题