mysql - 如何自动添加数据

标签 mysql

    CREATE TABLE `tmp` (
    `CallID` bigint(8) unsigned NOT NULL,
    `InfoID` bigint(8) unsigned NOT NULL,
   `CallStartTime` datetime NOT NULL,
    KEY `CallStartTime` (`CallStartTime`)
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1

在此表中我想再添加一列 PartitionID int(4) unsigned NOT NULL, 在这里我想插入 PartitionID 列的数据,这意味着 PartitionID=(DAYOFYEAR('2009-01-01 00:00:00')) = 1 我想自动插入数据... PartitionID=(DAYOFYEAR(CallStartTime))

我的表旧数据是这样的

        (144,   56, '2011-06-19 1:00:00'),
        (100,   57, '2011-09-01 10:24:00'),
        (168,   68, '2012-07-13 12:10:06'),
        (207,   30,         '12012-12-05 12:12:00'),
        (112,   14, '2013-05-19 1:00:00');
        (177,   90, '2013-06-05 12:12:00'),
        (144,   56, '2013-06-19 1:00:00'),
        (168,   68,     '2013-07-13 12:10:06'),
        (119,   17, '2013-08-01 10:24:00'),
        (110,   10, '2013-08-05 12:12:00'),
        (113,   11, '2013-08-13 12:10:06'),
        (100,   57, '2013-09-01 10:24:00'),

添加新列后......我想要这样

只自动插入PartitionID数据,不手动

(177,   90, '2010-06-05 12:12:00',156),
(144,   56, '2011-06-19 01:00:00',170),
(100,   57, '2011-09-01 10:24:00',244),
(168,   68, '2012-07-13 12:10:06',194),
(207, 30, '2012-12-05 12:12:00',340),
(112,   14, '2013-05-19 01:00:00',139),
(177,   90, '2013-06-05 12:12:00',156),
(144,   56, '2013-06-19 01:00:00',170),
(168,   68, '2013-07-13 12:10:06',194),
(119,   17, '2013-08-01 10:24:00',213),
(110,   10, '2013-08-05 12:12:00',217),
(113,   11, '2013-08-13 12:10:06',225),
(100,   57, '2013-09-01 10:24:00',244)

最佳答案

ALTER TABLE TestTable
ADD NewCol int
CONSTRAINT DF_TestTable_NewCol DEFAULT '1' NOT NULL
GO

我不确定这是否是您要查找的内容,但这用于添加默认值为 1 的新列。

然后您可以像@juergen d 所说的那样创建一个 TRIGGER,然后更改值。

关于mysql - 如何自动添加数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18844768/

相关文章:

mysql - 是否可以在mysql中设置自动增量的起点和最大值?

php - 使用 php 警报 mysql 列的评论

php - 为插件单独的 MySQL 表

php - 我如何在 php 中使用 sql 进行编辑

MySQL错误,未知原因

mysql - 这个领域到底是什么?

javascript - 如何在PHP中向数据库提交多个表单?

java - 为什么查询后的 flush() 会导致数据库更新?

mysql - 如果数字为十进制,sql 查询不起作用

php - 使用PHP将数组一一存储在MySQL中