是否可以在数据库中插入与一个id对应的多个数据条目。 我想插入如下所示的数据:
Seq_id Name Value
1. Bill.billNo 1234
Bill.date 25/07/2014
Person.fname abc
Person.lname xyz
2. Bill.billNo 1220
Bill.date 11/07/2014
Person.fname def
Person.lname ghy
答案 0 :(得分:3)
将表格定义为:
CREATE TABLE YourTable (
seq_id INT NOT NULL,
name VARCHAR(30) NOT NULL,
value VARCHAR(100),
PRIMARY KEY (seq_id, name)
);
表格内容为:
Seq_id Name Value
1 Bill.billNo 1234
1 Bill.date 25/07/2014
1 Person.fname abc
1 Person.lname xyz
2 Bill.billNo 1220
2 Bill.date 11/07/2014
2 Person.fname def
2 Person.lname ghy
如果您希望seq_id
为每个名称单独自动递增,则应为:
CREATE TABLE YourTable (
seq_id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(30) NOT NULL,
value VARCHAR(100),
PRIMARY KEY (name, seq_id)
) ENGINE=MyISAM;
您必须对PRIMARY KEY
子句中的列重新排序,因为自动增量列必须是键中的辅助列。您必须使用MyISAM
,因为InnoDB
中无法使用辅助列自动增量。
确保在添加行时,同时添加特定seq_id
的所有名称。否则,当它自动递增时,它们会在名称之间失去同步。