【问题标题】:mysql copy from one table column to another empty table with intergrity contraintsmysql从一个表列复制到另一个具有完整性约束的空表
【发布时间】:2013-04-26 22:29:42
【问题描述】:

我有一张桌子叫

     Seats
ID   Number  Region_ID  Venue_ID


     seatreservation
ID   Flag   seat_ID    reservation_ID

现在座位预订表是空的,但有 reservation_ID 作为另一个表的外键。所以我试图从 Seats.ID 复制内容并将其放入 seareservation.seat_ID 中,例如 Region_ID 为 =2。如果我使用插入语句 喜欢:

INSERT INTO seatreservation (seat_ID) SELECT ID FROM seat WHERE venue_ID = 2;

它不会起作用,因为 seatreservation 上的 reservation_ID 不能为空(参照完整性)。有没有办法从 Seats.ID 填充 seat_ID 列,同时还为循环中的所有 reservation_ID 插入例如“1”以避免 null ?我需要帮助来扩展 sql 语句或其他方法。

【问题讨论】:

    标签: mysql sql sql-server database relational-database


    【解决方案1】:
    INSERT INTO seatreservation (seat_ID, reservation_ID) 
    SELECT ID, 1 FROM seat WHERE venue_ID = 2;
    

    【讨论】:

    • 你 Shibormot 先生是救生员!谢谢。
    • 例如,如果我想添加一个附加字段并输入 :Available 作为值,我可以这样做吗? INSERT INTO seatreservation (seat_ID, reservation_ID,Flag) SELECT ID, 1 'Available' FROM seat WHERE place_ID = 2;但它不工作。请向我解释您的查询以及解析器如何解释 1 值用于保留但无法解释可用的标志字符串。
    • @FrankSMallville,您的Flag 列属于什么类型?什么是错误信息?
    • FLag 是 String 类型,错误信息只是一个错误的 sql 语句。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-12
    • 1970-01-01
    • 2012-07-21
    • 2010-11-24
    • 1970-01-01
    • 2014-07-03
    • 2015-05-17
    相关资源
    最近更新 更多