搞不懂的问题

来源:互联网 发布:淘宝宝贝分类怎么设置 编辑:程序博客网 时间:2024/04/19 20:14

      今天碰到一个问题,很莫名奇妙,或许本身就是这样的,我写下来,做个记录,是这样的。我在查询表中一个记录时,SELECT*FROMmember WHERE member_uname=zhangsan
LIMIT 0 , 30,如果zhangsan 不加''时,就查询不到,提示#1054 - Unknown column 'zhangsan' in 'where clause'。然后我就加上了'',就可以找到了。当然了,这里的zhangsan是varchar类型。

     在写入数据库时,$data['member_id'] = $customerCenter->getMemberId("'".$data["member_name"]."'")才可以,如果把两边的符号都去掉,也会出现错误,难道这是字符串型的要求,奇怪以前没有发现。

   

TRUNCATE和DELETE有以下几点区别1、TRUNCATE在各种表上无论是大的还是小的都非常快。如果有ROLLBACK命令DELETE将被撤销,而TRUNCATE则不会被撤销。2、TRUNCATE是一个DDL语言,向其他所有的DDL语言一样,他将被隐式提交,不能对TRUNCATE使用ROLLBACK命令。3、TRUNCATE将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过TRUNCATE操作后的表比DELETE操作后的表要快得多。4、TRUNCATE不能触发任何DELETE触发器。5、不能授予任何人清空他人的表的权限。6、当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能。7、不能清空父表。TRUNCATE TABLE NAME,注意,表名不带引号。

今天碰到一个多表连接查询问题,mysql数据库。

SELECTo.order_id,o.order_no,it.item_id,it.item_order_id,it.item_product_id
FROM `order` o
INNER JOIN `order_items`itONo.order_id=it.item_order_id
WHERE o.order_no=1210270958052235
LIMIT 0 , 30

开始的时候我把,order表简写成or,结果怎么改都不对,最后突然想起来or是一个关键字,改成o,立马解决。还有一点是。

`order_items` 和order_items有什么区别,为什么有时候不加``的时候也是可以的。目前还是没搞明白。

原创粉丝点击