我已经在这方面工作了一段时间,我还没有能够提出解决方案,所以我不确定这是否可行,但任何帮助都是非常感谢。
我有两个表格,其基本结构如下:
然后我在" test"中创建一个条目。具有NULL值的表,即没有给定时间:CREATE TABLE test(时间戳NULL DEFAULT NULL);
CREATE TABLE test_copy_to(time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP);
INSERT INTO test VALUES(NULL);
然后我想从" test"中复制NULL值。表到" test_copy_to"表格如下:
INSERT INTO test_copy_to SELECT * FROM test;
第一个问题是" test_copy_to"不接受NULL值,这是在第一个表中初始化的值。然而,我想要实现的是能够复制" test" (虽然具有空值)到" test_copy_to"这样时间戳就会更新到从一个表复制到另一个表的时间。我已尝试在变量时使用UPDATE,但这似乎不起作用。无论如何,我可以创建表,使其以这种方式运行吗?
答案 0 :(得分:2)
而是使用下面的COALESCE()
函数提供一些默认值,其值为null
INSERT INTO test_copy_to
SELECT coalesce(`time`, CURRENT_TIMESTAMP ) FROM test;