-1
INSERT INTO fields (id_region, id_fields_info, subsidy_dka, id_rents_dka, type_uses, id_rented_from, id_categories, id_farmer, id_season) 
SELECT 
    regions.id,
        fields_info.id ,
        120,
    rents_dka.rent_dka, 
        "собствена",
    rented_froms.id, 
        categories.id_category, 
        farmers.id, 
        seasons.id

FROM regions, fields_info, rents_dka, rented_froms, categories, farmers,
    seasons
WHERE 
        region = "Азмък" AND
        field_num = 2222 AND
        rent_dka = 60 AND
        name = "Десислав" AND
        id_category = 3 AND
        name = "Десислав" AND
        season = "2012-2013"

所以我有这些表:

regions,
fields_info,
rents_dka, 
rented_froms, 
categories, 
farmers, 
seasons

他们充满了一些数据。
我已经制作了一个表单,用户使用这些表中的数据填充字段,我已经提到过,当单击提交按钮时,我想用从数据中获得的 ID 填充 MYSQL 中的表 FIELDS,用户已经进入。

4

2 回答 2

2

要发现问题,我将按照以下步骤进行:

  • 执行不带西里尔字母的插入
  • 删除所有和
  • 使用默认值进行默认插入

如果您得到“0 行插入”这意味着语法是正确的,但 where 子句无法找到任何匹配的条目。我怀疑问题出在西里尔字母的 AND 上。删除 AND 直到查询找到一些条目

于 2013-05-04T15:56:51.000 回答
-1

当我尝试插入具有唯一列并且我的 SQL 中有关键字的表时,我遇到了这种情况IGNORE

查询:

INSERT IGNORE INTO users SET `user_id` = 7321, `name`= 'test_name', `phone` = '+188888888';

如果查询没有IGNORE,它会抛出一个错误(因为该列user_id被设置为唯一并且我已经有一行具有相同的user_id)但是由于IGNORE关键字它只是忽略了查询,因此插入了 0 行。

注意:我知道所问的问题在查询中没有IGNORE关键,但可能会对某人有所帮助。

于 2021-03-30T10:38:24.740 回答