创建了唯一ID的Mysql语句

时间:2016-07-21 06:15:56

标签: mysql unique

我想问一下如何编写mysql语句,在单个结果行中创建哪些唯一ID(但实际上不存在于表中)

例如,表格' ABC'的内容是:

  

名称类型

     

John A

     

Mary B

     彼得C

     

Fred A

     

Gary C

     

Susan D

     

Alan A

当来自ABC的mysql语句SELECT *,其中type =' A'使用,结果是

  

名称类型

     

John A

     

Fred A

     

Alan A

但是我想在mysql结果的每一行中放置唯一的id,但是id实际上并没有放在表中。例如,

  

(newid)名称类型

     

1 John A

     

2 Fred A

     

3 Alan A

然后可以使用以下mysql语句进一步搜索该行。

  

来自ABC WHERE(newid)=' 1'

的SELECT *

结果是:

  

(newid)名称类型

     

1 John A

感谢。

3 个答案:

答案 0 :(得分:1)

您需要在表格中添加 PRIMARY KEY AUTO_INCREMENT 字段。

执行以下操作并检查:

ALTER TABLE `your_table`
ADD COLUMN `id_primary`  int NOT NULL AUTO_INCREMENT FIRST ,
ADD PRIMARY KEY (`id_primary`);

在您的情况下 就像是:

ALTER TABLE `ABC`
ADD COLUMN `id_primary`  int NOT NULL AUTO_INCREMENT FIRST ,
ADD PRIMARY KEY (`id_primary`);

注意:

id_primary字段被视为您的newid

这是您在此更新之前的表格。 See Demo before altering table

更新后立即查看您的表格See Demo after altering table

答案 1 :(得分:1)

您可以添加自动增量列

ALTER TABLE your_table ADD id INT NOT NULL AUTO_INCREMENT PRIMARY KEY;

答案 2 :(得分:0)

你可以使用变量来实现这一点,但是像@ 1000111所说的那样,你应该做的就是改变你的表:

class PageComp extends React.Component {

  componentDidMount() {
    console.log(this.refs.foo.clientWidth);
  }

  render() {
    return (      
      <div>
      <p>{this.props.name}</p>
      <SomeComp ref="foo" />
      </div>
    );
  }
}

class SomeComp extends React.Component {
  render() {
    return (
      <div>
      <h1>I loaded</h1>
      </div>
    );
  }
}


ReactDOM.render(
  <PageComp name="Joe Schmoe"/>,
  document.getElementById('react_example')
);