2017-06-18 142 views
0

我需要从一个表中插入(未更新)一些值到其他如何从其他表中插入值?

That`s我该怎么办:

INSERT INTO `users`(`id`) VALUES(('SELECT `id` FROM `clients` WHERE `phone_number`="+115522225500")) 

但显示错误

我应该怎么纠正

干杯!

+0

究竟是什么错误显示? “用户”有什么列(为什么只是插入一个'id')?你使用的语法中有很多额外的引号。 –

回答

0

只需使用insert . . . select

INSERT INTO users(id) 
    SELECT id 
    FROM clients 
    WHERE phone_number = '115522225500'; 

注意,电话号码通常是字符串等值应该有它周围的单引号。

1

正如Elliott Frisch所说,您将需要分享错误消息。 (只有这样,任何人都可以确切地知道如何帮助你) 但基本上我认为你的查询,可以有任何或所有这些可能发生的错误:

  1. 您在查询不必要的单引号。删除所有单引号和单引号替换各地的电话号码双引号
  2. 这一部分的返回值(后当然服用上述(1)保健)

(“SELECT id FROM clients WHERE phone_number =“+ 115522225500”)

可以是多于一个的值,如果通过相同的电话号码显示在多个记录的任何可能性,这是假设它不是唯一的列。您可以考虑使用(SELECT TOP 1 ID from clients....

  1. select查询返回null,但Users中的列ID不允许为空值。
相关问题