删除表中记录,为什么提示找不到字段,肯定不是中文字符的问题

删除表中记录,为什么提示找不到字段,肯定不是中文字符的问题。因为我已经 GB2312 了。除了中文,还有可能什么原因。
在下面的代码中,我的意图是:只要 LSB_RKZL 表的前四个字段等于 LSB_KCZL 表的前四个字段,则删除 LSB_RKZL 的记录。


SQL code

mysql> DELIMITER //

mysql> DESCRIBE LSB_RKZL//
+-------+-----------+------+-----+---------+-------+
| Field | Type      | Null | Key | Default | Extra |
+-------+-----------+------+-----+---------+-------+
| 品名  | char(255) | NO   | PRI |         |       |
| 颜色  | char(255) | NO   | PRI |         |       |
| 规格  | char(255) | NO   | PRI |         |       |
| 单位  | char(255) | NO   | PRI |         |       |
| 总量  | int(11)   | YES  |     | NULL    |       |
+-------+-----------+------+-----+---------+-------+
5 rows in set (0.01 sec)

mysql> DESCRIBE LSB_KCZL//
+-------+-----------+------+-----+---------+-------+
| Field | Type      | Null | Key | Default | Extra |
+-------+-----------+------+-----+---------+-------+
| 品名  | char(255) | NO   | PRI |         |       |
| 颜色  | char(255) | NO   | PRI |         |       |
| 规格  | char(255) | NO   | PRI |         |       |
| 单位  | char(255) | NO   | PRI |         |       |
| 库存  | int(11)   | YES  |     | NULL    |       |
+-------+-----------+------+-----+---------+-------+
5 rows in set (0.00 sec)

mysql> SELECT * FROM LSB_RKZL//
+--------------+------+------+------+------+
| 品名         | 颜色 | 规格 | 单位 | 总量 |
+--------------+------+------+------+------+
| CP           |      |      |      |   12 |
| CP2          |      |      |      |    5 |
| SQL 入门经典 |      |      |      |    0 |
| 水杯         ||      |      |    0 |
+--------------+------+------+------+------+
4 rows in set (0.00 sec)

mysql> SELECT * FROM LSB_KCZL//
+------+------+------+------+------+
| 品名 | 颜色 | 规格 | 单位 | 库存 |
+------+------+------+------+------+
| CP   |      |      |      |    2 |
+------+------+------+------+------+
1 row in set (0.00 sec)

mysql> delete from lsb_rkzl where
    -> LSB_RKZL.品名 = LSB_KCZL.品名 AND
    -> LSB_RKZL.颜色 = LSB_KCZL.颜色 AND
    -> LSB_RKZL.规格 = LSB_KCZL.规格 AND
    -> LSB_RKZL.单位 = LSB_KCZL.单位
    -> //
ERROR 1054 (42S22): Unknown column 'LSB_KCZL.鍝佸悕' in 'where clause'

作者: xiaoyuanyuan2009   发布时间: 2011-05-25

(不要高估你的汉语表达能力或者我的汉语理解能力)
  建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
  参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
   
  1. 你的 create table xxx .. 语句
  2. 你的 insert into xxx ... 语句
  3. 结果是什么样,(并给以简单的算法描述)
  4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
   
  这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。

 

作者: ACMAIN_CHM   发布时间: 2011-05-25

上次就说过 ,两表要关联
mysql> delete a from lsb_rkzl a inner join LSB_KCZL b on 
  -> aL.品名 = b.品名 AND
  -> a.颜色 = b.颜色 AND
  -> a.规格 = bL.规格 AND
  -> a.单位 =b.单位
  -> //

作者: wwwwb   发布时间: 2011-05-25

语法问题

作者: rucypli   发布时间: 2011-05-25

引用 2 楼 wwwwb 的回复:
上次就说过 ,两表要关联
mysql> delete a from lsb_rkzl a inner join LSB_KCZL b on
-> aL.品名 = b.品名 AND
-> a.颜色 = b.颜色 AND
-> a.规格 = bL.规格 AND
-> a.单位 =b.单位
-> //

你那 a b 是什么

作者: xiaoyuanyuan2009   发布时间: 2011-05-25