|
|
|
|
|
|
c********1 发帖数: 421 | 1 【 以下文字转载自 Programming 讨论区 】
发信人: coupondea1 (coupon and deal), 信区: Programming
标 题: 吐槽 MySQL
发信站: BBS 未名空间站 (Tue Aug 26 18:25:32 2014, 美东)
MySQL的问题实在太多。
1. 一台机器上的数据库,里面有中文信息,死活无法成功导入到另一台机器上
的mysql,总显示乱码。修改了所有的设置都无用,不是这种乱码就是另外一种乱码。
2,另外一个DB,用phpMyAdmin生成导出.sql文件,在导入另一台机器上时
报错there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT
or ON UPDATE clause
仔细检查.sql文件,发现只有一列是用的ON UPDATE CURRENT_TIMESTAMP
其它的列连 on UPDATE / DEFAULT 语句都没有
后来才知道,该表中有2列均为timestamp,其中之一设了ON UPDATE
CURRENT_TIMESTAMP, 另外一列虽然没有设ON UPDATE CURRENT_TIMESTAMP
也没有设DEFAULT,但mysql在建表时会自动加上DEFAULT CURRENT_TIMESTAMP
………无耻!………自己加上 DEFAULT 0就可以了
3,在linux机器上初次安装完mysql并设root密码之后,需要运行mysqladmin时
所有的命令行必须带-p 参数。否则就会
access denied for user 'root'@'localhost' (using password: NO)
问题是,linux其它的命令如果带-p参数,那么后面接的一般是密码
但MySQL不是,-p的密码并不是inline的,而是需要在敲command之后另外再输入
-p后面可以带DB名称,但不能带密码!
4,在stored procedure中,如果用@命名,那么该变量必须是内部变量,而不是
外部传入的parameter
举例:set @foo = 1; 是对的
但CREATE PROCEDURE `bar`(IN `@foo` INT) 中的@foo就是错的,
必须要去掉这里的"@"符号
当然,相比起Apache/Linux/PHP的嘈点,Mysql的嘈点还算是少的
Developer其实大部分时间都是用于config和operation上了。吐血………… | d****i 发帖数: 4809 | 2 顺道问一下,你PHP用的什么框架?WordPress, Drupal, Joomla, Zend?
DEFAULT
【在 c********1 的大作中提到】 : 【 以下文字转载自 Programming 讨论区 】 : 发信人: coupondea1 (coupon and deal), 信区: Programming : 标 题: 吐槽 MySQL : 发信站: BBS 未名空间站 (Tue Aug 26 18:25:32 2014, 美东) : MySQL的问题实在太多。 : 1. 一台机器上的数据库,里面有中文信息,死活无法成功导入到另一台机器上 : 的mysql,总显示乱码。修改了所有的设置都无用,不是这种乱码就是另外一种乱码。 : 2,另外一个DB,用phpMyAdmin生成导出.sql文件,在导入另一台机器上时 : 报错there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT : or ON UPDATE clause
|
|
|
|
|
|
|