我希望能够使用update语句为home_country字段设置默认值。
这是数据库表:
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应将home_country值设置为1,而所有其他值重置为0
答案 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;
答案 1 :(得分:0)
您可以改用DEFAULT()函数。
$sql = "UPDATE countries SET home_country = DEFAULT(home_country) WHERE id = 1"