使用CONCAT的SQL语法

时间:2011-07-07 19:53:36

标签: mysql sql sql-update

我有一个表格T1,其中包含一些字段,如

id,key_id ,name,date etc..
  • id是一个自动递增字段
  • key_id是从id前缀/ id
  • 获取的值
  • Prefix对于所有行都是常量,只是id更改,这是相应行的id ..

看起来像这样

$sql = " ALTER TABLE T1 AUTO_INCREMENT = 1234567890, 
           ADD id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT ";

UPDATE T1
   SET key_id = CONCAT('12.345','/',id)

现在由于某些原因,我想创建一个新的表T2,它将是T1的父节点,id将是主键T2,Key_id将成为T1的主键。 T2还应包括其他两个字段,如key_id和name ..

确定父表的主要原因是:我可能会创建另一个表T3,它也将具有id和id应该具有不同的T1和T3值,所以我想维护一个主表,其中id为主键和其他子表将仅从主表中获取ID ..

我该怎么做?

1 个答案:

答案 0 :(得分:1)

为什么要将冗余数据存储在另一列“key_id”中?

由于前缀是常量,因此id就足够了。在代码中执行连接。

另外,这样,你可以将id作为两个表的主键,并通过在“前缀”前加上来获取key_id。