2017-06-04 15 views
0

我有2個表。在第一我有id_user(這是主鍵),用戶名,名稱,密碼,並在第二我有id_post(主鍵),發佈,用戶名,視圖,id(引用id_user的外鍵)。 後,我使用查詢:FOREIGN KEY在INSERT(PHP)後沒有完成列

$query ="INSERT INTO posts (username,post,view) VALUES ('$username','$postare','$isprivate')"; 

完成具有NULL我的id列。我想在列id中有用戶的id_user進行查詢。非空。

回答

1

您需要查看數據中的值。因此,使用構造查詢會是這個樣子:

insert into posts (userid, post, view) 
    select u.userid, $postare, $isprivate 
    from users u 
    where u.username = '$username'; 

注:

  • 不要既useridusername存儲在posts表。僅在users表中存儲username,並在需要時使用userid獲取名稱。
  • 請勿將值直接放入查詢字符串中。學習使用參數化查詢。
  • view對於一個列來說是一個非常糟糕的名字,因爲它是一個SQL關鍵字。